如何使用带日期条件的选择?

9 sql sql-server

在sqlserver中,如何比较日期?例如:

从注册日期= ='1/20/2009'的用户中选择*

(RegistrationDate是日期时间类型)

谢谢

The*_*TXI 14

如果你投入

SELECT * FROM Users WHERE RegistrationDate >= '1/20/2009' 
Run Code Online (Sandbox Code Playgroud)

它会自动将字符串'1/20/2009'转换DateTime为日期格式1/20/2009 00:00:00.因此,通过使用,>=您应该让每个注册日期为1/20/2009或更近的用户.

编辑:我把它放在评论部分,但我也应该把它链接到这里.这篇文章详细介绍了在查询中使用DateTime的更深入的方法:http://www.databasejournal.com/features/mssql/article.php/2209321/Working-with-SQL-Server-DateTime-Variables-部分三---搜索换特定的最新值和-Ranges.htm


LON*_*ONG 5

如果您不想被日期格式打扰,您可以将该列与一般日期格式进行比较,例如

select * From table where cast (RegistrationDate as date) between '20161201' and '20161220'

确保日期为 DATE 格式,否则cast (col as DATE)