我将如何返回自我在 SQL Server 中指定的日期以来的行列表,这是我目前拥有的:
select * from SALESTABLE where CREATEDDATETIME
BETWEEN '26/04/2012 00:00:00.00' AND GETDATE()
但这会引发错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
我将如何返回自我在 SQL Server 中指定的日期以来的行列表,这是我目前拥有的:
select * from SALESTABLE where CREATEDDATETIME
BETWEEN '26/04/2012 00:00:00.00' AND GETDATE()
但这会引发错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
BETWEEN '26 April 2012' AND GETDATE()
那行得通
更改字符串格式:
select * from SALESTABLE where CREATEDDATETIME
BETWEEN '20120426' AND GETDATE()
编辑:根据评论更新,从不知道破折号破坏了 ISO 格式 - 我一直认为这是“正常的”,因为 SQL 管理工作室以该格式输出日期
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()
看看是否有帮助