SQL Server 2005 Дата Локализация - PullRequest
0 голосов
/ 22 апреля 2009

У меня есть процедура, которая по умолчанию устанавливает текущую дату, если в нее не передан ни один параметр.

CREATE Procedure GetDirectoryRenewalReminders    
(@DateToday datetime = Null)  
As     
If @DateToday Is Null   
Begin  
 Set @DateToday = GetDate()  
End  
...
Go

Как я могу убедиться, что значение GetDate () по умолчанию будет соответствовать текущему британскому времени при вызове из приложения в Великобритании и австралийскому времени при вызове из приложения в Австралии?

Ответы [ 3 ]

3 голосов
/ 22 апреля 2009

Вы можете использовать GETUTCDATE () для времени в utc с сервера. Затем клиент может добавить к этому местное время.

1 голос
/ 22 апреля 2009

Он всегда будет возвращать время локального сервера. Сервер базы данных не может знать, где находится пользователь в часовом поясе. Вы можете передать смещение часового пояса для процедуры.

1 голос
/ 22 апреля 2009

Клиентское приложение должно применить перевод для местоположения клиента в стандартное время даты для SQL Server ... но вам придется применить смещение часового пояса, чтобы сделать его GMT в клиенте.

Затем сравните с GETUTCDATE ()

К вашему сведению: GMT - UTC, если вы британец; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...