我想选择过去24小时内数据库中的所有行,而不是每次都选择直到当前时间,而是直到今天的某个小时。我应该添加以下语句吗?
到目前为止,每当用户使用以下语句访问网页时,我都会获得最近24小时的结果:
tad510.t_edte >= DATEADD(day,-1,GETDATE()) -- t_edte is a datetime
但是问题是我想显示过去24小时的结果,直到从视图的控制器中调用该函数的当天的凌晨5点。
我当时想做些类似的事情:
tad510.t_edte > DATEADD(day,-1,GETDATE())+'05:00:00'
但是我不确定它是否正确
如果你们能告诉我我该怎么做,这样我才能取得预期的结果,那将真的很有帮助。 提前非常感谢您!
答案 0 :(得分:1)
您可以使用以下WHERE子句:
WHERE t_edte >= DATEADD(HOUR, -19, CAST(CAST(CURRENT_TIMESTAMP AS DATE) AS DATETIME))
AND t_edte < DATEADD(HOUR, 5, CAST(CAST(CURRENT_TIMESTAMP AS DATE) AS DATETIME))
在2019-10-02 07:16:54.453
上,它将在2019-10-01 05:00
和2019-10-02 05:00
之间获取数据。 Demo on db<>fiddle。
答案 1 :(得分:0)
一种方法,将import styles from './MyComponent.module.css'
import { cssExports } from './MyComponent.module.css.d'
const myFunc = (style: cssExports): string => {...}
强制转换为GETDATE()
(然后转换回date
)并添加5个小时。
datetime