Преобразование даты и времени в числовое представление - PullRequest
4 голосов
/ 24 октября 2011

Я хочу преобразовать поле даты и времени в числовое представление в виде ГГГГММДД.Итак, моя логика здесь (с 2011-01-01 12: 00: 00.000 до 20110101):

convert(int, replace(cast(getdate() as date), '-', ''))

Согласно MSDN (http://msdn.microsoft.com/en-us/library/bb630352.aspx), строковое представление - [всегда?] "ГГГГ-ММ-ДД", поэтому я просто преобразовываю эту строку в INT после удаления тире из строки.

Будет ли это работать всегда?Буду ли я столкнуться с некоторыми проблемами с этим?Есть ли лучший способ добиться этого?

Спасибо

1 Ответ

8 голосов
/ 24 октября 2011

Этот подход может работать, не уверен, что произойдет с настройками локализации.Если вы используете встроенные функции преобразования даты и времени (http://msdn.microsoft.com/en-us/library/ms187928.aspx), вы можете избежать использования замены и не беспокоиться о локалях.

Пример:

select CAST(convert(varchar,getdate(),112) as int)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...