我正在查看一个遗留系统,其中有一个“日期”列
report_date
在桌子上
t_results
设置为char(25)。
列的名称为report\u date,类型为
report_date (char(25),null)
存储过程将表用作
ALTER PROCEDURE [dbo].[s_report]
(
@report_date_from DATETIME,
@report_date_to DATETIME,
)
AS
SET NOCOUNT ON
SELECT *
FROM
t_results
WHERE
report_date >= @report_date_from AND report_date <= @report_date_to
ORDER BY report_id
当我把它当作
EXEC s_report '9/4/2018','10/2/2018'
运行良好,达到了预期效果。
SELECT *
FROM
t_results
WHERE
report_date >= '09/04/2018' AND report_date <= '10/2/2018'
我不知道这场狂欢是怎么进行的。关于如何在where子句中比较char和datetime,有什么想法或建议吗?