0

我将如何返回自我在 SQL Server 中指定的日期以来的行列表,这是我目前拥有的:

select * from SALESTABLE where CREATEDDATETIME 
BETWEEN '26/04/2012 00:00:00.00' AND GETDATE()

但这会引发错误:

将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。

4

3 回答 3

2
BETWEEN '26 April 2012' AND GETDATE()

那行得通

于 2012-05-17T07:27:44.690 回答
1

更改字符串格式:

select * from SALESTABLE where CREATEDDATETIME 
BETWEEN '20120426' AND GETDATE()

编辑:根据评论更新,从不知道破折号破坏了 ISO 格式 - 我一直认为这是“正常的”,因为 SQL 管理工作室以该格式输出日期

于 2012-05-17T07:24:38.740 回答
0
select * from SALESTABLE where CREATEDDATETIME 
BETWEEN '26/04/2012 00:00:00.00' AND GETDATE()

将其更改为

select * from SALESTABLE where CREATEDDATETIME 
BETWEEN CONVERT(datetime, '26/04/2012', 103)  AND GETDATE()

看看是否有帮助

于 2012-05-17T07:20:19.090 回答