CAST nvarchar на datetime независимо от формата даты входа в систему? - PullRequest
3 голосов
/ 01 декабря 2011

У меня есть 2 сервера с двумя разными форматами даты входа (English & British English).

Мне нужно иметь возможность CAST значение nvarchar для даты и времени независимо от формата даты.

У меня следующий запрос:

select cast('2011-13-07' as datetime)

Это работает на 1 сервере, но не на другом.

Есть ли другой способ представить 13/7/2011 какdatetime объект для обоих серверов?

Для согласованности запрос должен быть одинаковым на обоих серверах.

1 Ответ

5 голосов
/ 01 декабря 2011

Используйте стандартный формат ISO-8601 YYYYMMDD:

SELECT CAST('20110713' as DATETIME)

Не используйте тире!Этот формат будет работать на любом экземпляре SQL Server , независимо от языка, региональных настроек и региональных настроек - он просто работает !

Другой формат в ISO-8601 YYYY-MM-DDTHH:MM:SS - этот включает тире, но также и временную часть.

...