SQL Server 日期时间 where 子句

标签 sql sql-server sql-server-2005 t-sql

抱歉问了个懒惰的问题。我想知道 SQL Server 2005 的语法

SELECT * 
  FROM myTable 
 WHERE myDateTimeField > "4am this morning"

预先感谢您的帮助。

最佳答案

用途:

SELECT * 
  FROM myTable 
 WHERE myDateTimeField > DATEADD(hh, 4, DATEADD(dd, DATEDIFF(dd,0,GETDATE()), 0))

这个:

DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

...将返回当天午夜的 DATETIME。因此,外部 DATEADD 在午夜的日期上添加了四个小时,为您提供今天凌晨 4 点的 DATETIME。

引用:

关于SQL Server 日期时间 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383585/

相关文章:

php - 如何通过mysql查询插入包含逗号的字符串?

使用 select 时,MySQL 在两列上建立索引

c# - 在 SQL Server 中将 varchar 和 char 转换为 nvarchar 和 nchar 是否安全?

SQL 获取日期中 15 日第一次出现的情况

sql - 提取名字和姓氏

sql - Postgresql generate_series 的月份

java - JDBC:无法获取我的表的复合索引

c# - TSQL 大量插入关系数据,带外键 Upsert

sql - 按子字符串对sql结果进行分组

sql - Oracle To_Char函数如果已经是字符串怎么处理