简单查询错误消息消息241,级别16,状态1,行1从字符串转换日期和/或时间时转换失败

时间:2017-11-29 18:12:00

标签: sql-server

我正在使用MSSQL,当我尝试执行以下查询时,我收到上述错误消息。

Select * 
from fa_disp
where dispdt between '2014-10-01' and '2015-09-31'; 

我知道有一个简单的答案。当我查看这个错误信息的所有其他问题和答案时,它们是如此复杂和复杂。我是新手,所以当我尝试这些例子时,它仍然没有用。请帮忙?

2 个答案:

答案 0 :(得分:0)

尝试在SQL中使用Convert / Cast。就像是: WHERE CONVERT(datetime,dispdt)介于'2014-10-01'和'2015-09-31之间。那些将是我开始的功能。

另外,检查您在查询中比较的数据。字段dispdt可能不包含您认为的数据或格式错误的日期。

答案 1 :(得分:0)

当你像这样传递datetime文字常量时,你应该使用与语言无关的格式yyyymmdd

Select * 
from fa_disp
where dispdt between '20141001' and '20150931';