如何在不更改日期部分的情况下在 Datetimeoffset 列中设置 timeoffset

Sky*_*Sky 1 sql-server t-sql sql-server-2008-r2

有什么办法来设置timeoffset一个中datetimeoffset柱直接,而不必使用SWITCHOFFSET改变的日期呢?

在下面的帖子中,我们可以看到SWITCHOFFSET将相应地更改日期以及设置时间偏移(这不是我们想要的):http : //blog.sqlauthority.com/2010/07/15/sql-server-datetime-功能开关偏移示例/

例如,我的日期值为“2013-02-10”,并希望将其记录在不同的时区,而不会丢失“2013-02-10”。只需将 timeoffset 设置为需要的值,例如:+11、-4、-6 等。

是否可以?

谢谢。

小智 6

为避免额外的 DateAdd(如果时区是变量可能会很困难),请使用:

TODATETIMEOFFSET(@datetimeoffset, @timeZone)
Run Code Online (Sandbox Code Playgroud)