sql - sql server 2016中的时区日期时间比较
问题描述
在数据库中,我的时区和日期为:
时区 “印度标准时间”
日期 时间'2018-07-19 15:47'
在 Sql 查询中,我将其与GETUTCDATE()进行比较
IF EXISTS( SELECT * FROM [dbo].[Notification] WHERE [Published] AT TIME ZONE 'India Standard Time' < GETUTCDATE())
BEGIN
PRINT 'True'
END
这给了我错误的结果
我是这个功能的新手,所以不知道比较它的确切方法
解决方案
只需使用
dateadd(分钟,330,getutcdate())
代替
getutcdate()
对于 IST
SELECT * FROM [dbo].[Notification] WHERE [Published] < dateadd(MINUTE, 330, getutcdate())
推荐阅读
- ruby-on-rails - 我的“不允许的参数::passenger”Rails 错误来自哪里?
- html - 使用 HTML lib 在 Flutter 中解析 html
- pgadmin-4 - pgAdmin 编辑结果表中的数据
- java - 如何在最后输入字母几秒钟后显示 AutoCompleteTextView 的下拉列表?
- javascript - 在我的代码中找不到错误,可能与我如何管理 Branch 类有关
- python - 装饰器可以用来模拟试验吗?
- mysql - 我想编写一个 SQL 查询来确定员工人数最多的公司,然后显示它是以前公司的员工
- c# - 程序运行期间的 ASP.NET Switch 数据库
- javascript - 对象没有被推入上下文 api 中的数组中
- c# - ConfigureAwait(false) 是否从 ThreadPool 触发另一个线程?