当前位置: 首页 > 面试题库 >

在T-SQL中确定时区偏移

慕宏博
2023-03-14
问题内容

我的数据库应用程序将部署在不同时区的多个站点上。

我需要一个T-SQL函数,该函数将确定YTD计算本年1月1日午夜的UTC时间戳。所有数据都存储在UTC时间戳中。

例如,芝加哥是具有夏令时(DST)的UTC-6,如果该功能在2008年的任何时间在芝加哥运行,则该函数需要返回“ 2008-01-01
06:00:00”。如果明年在纽约(GMT-5 + DST)运行,则需要返回“ 2009-01-01 05:00:00”。

我可以从中获取当前年份YEAR(GETDATE())。我以为可以DATEDIFFGETDATE()和之间GETUTCDATE()确定偏移量,但是结果取决于查询是否在DST期间运行。我不知道有任何内置的T-
SQL函数来确定偏移量,或者当前时间是否为DST?

在T-SQL中,有人可以解决此问题吗?我可以对其进行硬编码或将其存储在表中,但不希望这样做。我想这是在SQL Server
2005中使用CLR集成的理想情况。我只是想知道是否有我不知道的T-SQL解决方案


问题答案:

查看先前的问题和答案以获取相关信息:

在SQL
2005中有效地在UTC和本地(即PST)时间之间转换日期

(总而言之,您确实需要在Sql Server 2005中构建时区和DST表。在Sql Server的下一版本中,我们将获得有关时区的一些帮助。)



 类似资料:
  • 问题内容: 我有下表 我需要编写一个查询,该查询将返回不同的ID和对应的Number列值相乘。对于给定的表结果应该是这样的 (不使用游标) 问题答案: 这将适用于正数,也可以乘以负数,也可以使用ABS()函数使用绝对(正)值,但最终结果将是正数,而不是负数: 编辑:添加了测试脚本 输出:

  • 问题内容: MySQL中有没有一种方法可以计算任何时区的偏移量?例如,要获取时区中的本地时间。我想做的是计算该时区的偏移量,并将该偏移量添加到GMT以获得本地时间。 问题答案: 如果要计算某个时区(例如,美国/温哥华)与UTC的时差,则可以按照以下步骤进行操作: 为此,您首先需要按照以下概述将时区信息加载到mysql中:http : //dev.mysql.com/doc/refman/5.0/e

  • 问题内容: 我需要下一个流程: nodejs utils api中有这种可能性吗? 问题答案: 您可以使用node-time,如下所示:

  • 我使用的是“亚洲/曼谷”区域id。该偏移是从格林尼治时间UTC 07:00开始的。 但是当我做了下面的事情时,设置为“01/01/1900 7:00:00.000”时不是7:00 结果就是 周一一月一日07:00:00 ICT 1900 -402 周一一月一日06:00:00 ICT 1900 -420 我想知道偏移量是否在1900年1月1日早上7点左右发生了变化,所以我在维基百科上查了一下。ht

  • 一切都清楚一次是UTC中的日期:

  • 问题内容: 我知道这是array中的一个切片。是否可以确定相对于(基本模拟指针算术)的开始的偏移量? 问题答案: 这是一种实现方法: 该表达式返回容量等于的切片。给定切片和支持数组,您可以将p计算为