在sql-server db上,我需要查询日期>从varchar字段中获取getdate
我的桌子
id | activatioDate (varchar(100)) |<br>
22 | 12/3/2021 |<br>
23 | 12/7/2019 |<br>
24 | 12/9/2020 |<br>
25 | 12/3/2019 |<br>
26 | 12/11/2019 |<br>
27 | 12/1/2024 |<br>
我的查询
select * from mytable
where activatioDate > GETDATE()
预期结果
22 | 12/3/2021 |<br>
24 | 12/9/2020 |<br>
27 | 12/1/2024 |<br>
我遇到以下错误“将varchar数据类型转换为datetime数据类型导致超出范围的值。”
有任何建议吗?
使用CONVERT
:
SELECT *
FROM mytable
WHERE CONVERT(datetime, activatioDate, 101) > GETDATE();
但是通常,您应避免将日期作为文本存储在SQL数据库中。