sql - 在 DATEADD 间隔中使用 case 表达式

标签 sql sql-server case dateadd

是否可以在 DATEADD 区间参数中使用 case 表达式?

select DATEADD(case c1 when 1 then HOUR when 2 then DAY end, c2, date) from T

Update1:抱歉,我想在where子句中使用它

select * from T where DATEADD(case c1 when 1 then HOUR when 2 then DAY end, c2, date) < GETDATE()

也许还有另一种选择。

提前致谢

最佳答案

试试下面..

select * from T 
where case c1 when 1 then DATEADD(HOUR, c2, date) 
when 2 then DATEADD(DAY, c2, date) 
end < Getdate()

关于sql - 在 DATEADD 间隔中使用 case 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32647676/

相关文章:

MySQL GROUP BY CASE 错误

mysql - 从左连接表中选择多个条件为真的行

python - 在 sqlite3 中引用(外键)表的一列通过连接其他两个表中的两列

sql-server - SQL Server 2005 中的拦截和重写查询

mysql - 当没有匹配项时,CASE 语句将我的所有值更新为 NULL?

bash - vi 将 bash 脚本大写或小写突出显示为错误

mysql - 计算 mysql 表中的模式

SQL Server 和 postgresql 中的 SQL 标准

sql-server - 为什么我的 Sql 查询在第二次运行时更快?

sql-server - SQL : Correct use of the case statement?