MySQL存储过程解析要在select语句中使用的日期参数

时间:2016-08-15 07:32:26

标签: mysql stored-procedures

我正在尝试解析SP中的两个日期参数,以便在select语句where子句中使用。

似乎得到了: ERROR 1292(22007):日期值不正确。

以下代码段:

create procedure db_name.sp_name(in start_date date, in end_date date)

select * from db_name.db_table
where date_column >= start_date and date_column <= end_date;

请指教。先谢谢了。

1 个答案:

答案 0 :(得分:1)

您可能需要一个正确的日期格式,假设您以'%Y-%m-d%'格式传递start_date和end_date

create procedure db_name.sp_name(in start_date date, in end_date date)

 select * from db_name.db_table
 where date_column >= str_to_date(start_date, '%Y-%m-d%')
                   and date_column <= str_to_date(end_date, '%Y-%m-d%');