【发布时间】:2012-09-05 00:12:17
【问题描述】:
我的应用程序需要收集全球所有地点的“星期二”购买,其中“星期二”是该地点的星期二(不考虑时区)。如果用户下周需要重新运行报表,我仍然需要获取“上周二”的数据。我们所有的数据都使用 DateTimeOffset 存储。
所以 2012 年 9 月 4 日 00:00:00 -7 到 2012 年 9 月 4 日 23:59:59 -7 必须匹配 2012 年 9 月 4 日 00:00:00 +11 至 2012 年 9 月 4 日 23:59:59 +11 当我执行 WHERE 子句时。
我无法在 WHERE 子句中转换为 UTC,因为这将获取伦敦“星期二”的数据(取决于 DST),而不是该地点的星期二。
我尝试从 DateTimeOffset 转换为 DateTime,但这似乎转换为 UTC。 (在我的测试中,通过 9/1/12 到 9/30/12 获得了 8/31/12 的数据。)
用 TSQL 做这样的事情有诀窍吗?
谢谢!
【问题讨论】:
-
澄清一下,每个位置的
datetime有不同的时区?
标签: sql tsql datetimeoffset