Existe alguma maneira de definir o timeoffset
de uma datetimeoffset
coluna diretamente sem ter que usar o SWITCHOFFSET
que altera a data também?
Na postagem abaixo, podemos ver SWITCHOFFSET
que alteraremos a data de acordo com a definição do timeoffset (que não é o que queremos):
http://blog.sqlauthority.com/2010/07/15/sql-server-datetime- função-switchoffset-example/
Por exemplo, tenho o valor de data como '2013-02-10' e quero gravá-lo em fusos horários diferentes, sem perder o '2013-02-10'. Basta definir o timeoffset para o necessário, por exemplo: +11, -4, -6, etc.
É possível?
Obrigado.
Para evitar o DateAdd extra (pode ser difícil se o fuso horário for uma variável), use:
Mudar o deslocamento levará em consideração o deslocamento anterior, se existir. Seria melhor converter o valor original como um datetime para truncar o deslocamento anterior e definir o novo deslocamento conforme necessário:
Acabamos conseguindo isso aplicando as diferenças de tempo entre o valor original e o valor após aplicar o SwitchoffSet e, em seguida, executar o SwitchOffSet para criar o deslocamento de fuso horário:
Como você pode ver, o valor da data original permanece inalterado.