返回自指定日期以来的行列表

时间:2012-05-17 07:18:22

标签: sql-server

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

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

但这会引发错误:

  

将varchar数据类型转换为日期时间数据类型   导致了超出范围的价值。

3 个答案:

答案 0 :(得分:2)

BETWEEN '26 April 2012' AND GETDATE()

那就行了

答案 1 :(得分:1)

更改字符串格式:

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

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

答案 2 :(得分: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()

并查看是否有帮助