我需要将数据库中存储为 varchar 的日期与今天的日期进行比较。
具体来说,我需要排除任何日期已过的记录。
我试过:
SELECT * FROM tblServiceUsersSchedule
WHERE ScheduleEndDate !='' AND ScheduleEndDate < '2015/05/31'
Run Code Online (Sandbox Code Playgroud)
此选择的值例如 17/06/ 2012和 19/04/2015 都已通过,以及 01/06/2015 尚未通过。
然后我尝试使用以下方法转换数据:
SELECT *
FROM tblServiceUsersSchedule
WHERE CAST(ScheduleEndDate as DATETIME) < CAST('05/31/2015' as DATETIME) AND ScheduleEndDate !='' AND ScheduleEndDate is not null
Run Code Online (Sandbox Code Playgroud)
但出现以下错误:
varchar 数据类型到 datetime 数据类型的转换导致值超出范围。
我检查了后面的数据,没有一个是空的,没有一个是空白。所有日期均采用 dd/mm/yyyy 格式。
我不知道如何将存储的 varchar 日期与今天的日期进行比较。