ssis - GETDATE() 和通过侦听器连接的多个服务器
问题描述
我们有 3 台服务器伦敦、阿姆斯特丹、法兰克福。通过监听器连接。因此,使用 GetDate() 填充表格等将根据是否连接到伦敦而给出不同的结果。什么是始终获得伦敦时间的最简单方法。
谢谢杰夫
解决方案
最容易使用 GETUTCDATE() 代替。返回的datetimeoffset是明确的。要获得英国时间,请使用 AT TIME ZONE 进行转换,然后转换为datetime或datetime2:
SELECT CONVERT(datetime2(0),CONVERT(datetimeoffset,GETUTCDATE()) AT TIME ZONE 'GMT
Standard Time')
请注意,时区“格林威治标准时间”返回格林威治标准时间,这不是夏季的英国时间。时区“GMT 标准时间”反映夏季和冬季的英国时间 - 这不是GMT,而是夏季的 GMT+1。这似乎没有记录,名称也没有帮助!
推荐阅读
- javascript - LinkedIn share API - 允许用户共享自定义内容并在弹出窗口中预览,类似于 facebook 使用其 SDK 所做的
- blockchain - 如何知道我的 Waves 节点是否在分叉上?
- bluetooth-lowenergy - 如何使用 esp32 提高信标扫描采样率
- haskell - 为所有服务器请求处理一个连接
- java - 数据库驱动的功能切换
- ios - Symbol(s) not found for architecture ARM64 clang--error: linker command failed with exit code 1 (use -v to see invocation)
- r - 在 kableExtra 的第二列中使用 add_indent() 进行行缩进
- css - 如果 cshtml 中没有头部,则将 css 放在哪里
- google-chrome-extension - Chrome 扩展中的 Auth0 通用登录
- c++ - 球体 OpenGL 的类似广告牌的表示