Mysql 使用日期作为参数返回空行的SQL存储过程?

Mysql 使用日期作为参数返回空行的SQL存储过程?,mysql,sql,stored-procedures,blank-line,Mysql,Sql,Stored Procedures,Blank Line,我急需帮助 我目前正在做一个SQL项目的课程(周五到期) 其中一个问题是创建一个存储过程,显示一定范围内的销售订单日期 我已经为这个问题创建了以下存储过程,但是我得到的只是空行?据我所知,它似乎读错了日期,但我不知道为什么?有人能帮忙吗?我是SQL的新手 DELIMITER // CREATE PROCEDURE customer_order_range (start_date DATE, end_date DATE) BEGIN SELECT * FROM customer_order

我急需帮助

我目前正在做一个SQL项目的课程(周五到期)

其中一个问题是创建一个存储过程,显示一定范围内的销售订单日期

我已经为这个问题创建了以下存储过程,但是我得到的只是空行?据我所知,它似乎读错了日期,但我不知道为什么?有人能帮忙吗?我是SQL的新手

DELIMITER //

CREATE PROCEDURE customer_order_range (start_date DATE, end_date DATE)

BEGIN

SELECT *
FROM customer_order
WHERE `date` >= start_date 
AND `date` <= end_date;

END //

DELIMITER ;


CALL customer_order_range ( 'start_date' = '2020-02-01', 'end_date' = '2020-03-05');
分隔符//
创建过程客户订单范围(开始日期、结束日期)
开始
挑选*
从客户订单
其中`date`>=开始日期

和'date`删除分隔符和列名,如下所示:

CALL customer_order_range ('2020-02-01', '2020-03-05');
我明白了

这段代码是错误的:

CALL customer_order_range ( 'start_date' = '2020-02-01', 'end_date' = '2020-03-05');
它应该是:

CALL customer_order_range ('2020-02-01','2020-03-05');

在调用存储过程时,当我将参数名及其值放入时,问题就出现了。谢谢大家!:)

列名称周围的单引号通常是错误的。日期是保留字,是否尝试为该列找到其他名称?还有,销售日期栏是什么类型的?大家好,曼萨尼谢谢你们的帮助。我正在使用MyySQL。@SandraGuilepZouaouiZandeh我已将该列的名称切换为“订单日期”谢谢。我使用的表中的日期类型也是date,并且;例如,它的格式是2020-02-15谢谢你,桑德拉,我试过了,但是我收到了这个错误消息:错误代码:1054。“字段列表”中的未知列“开始日期”。当我包含分隔符时,它可以正常工作,只是不返回任何行?这很奇怪,我想没有?实际上你不需要列名,只要直接输入值我就更新了答案。