SQL Server конвертировать строку в дату и время - PullRequest
3 голосов
/ 30 мая 2010

У меня есть эта строка: «30/05/2010», и я хотел бы ввести ее в поле smallDatetime. В базе данных это должно выглядеть примерно так 2010-05-30 15:33:25 Любая идея, как?

TY

Ответы [ 4 ]

5 голосов
/ 30 мая 2010

использование

select convert(smalldatetime,'30/05/2010',103)
1 голос
/ 30 мая 2010
SET DATEFORMAT DMY 
SELECT CAST('30/05/2010' as smalldatetime)

Откуда вы хотите, чтобы аспект времени пришел? Преобразование выше добавит 00:00 (полночь) для smalldatetime, потому что:

  • строка не имеет информации о времени
  • smalldatetime разрешает до минутного разрешения
0 голосов
/ 30 мая 2010

Вы можете использовать cast('05/30/2010' as smalldatetime).

Если вам нужно точное 15:33:25 время, вы можете использовать несколько dateadd вызовов, например, select dateadd(hh, 15, cast('05/30/2010' as smalldatetime)) возвращает 2010-05-30 15:00:00.

0 голосов
/ 30 мая 2010

Вам нужно использовать тип поля datetime, если вы хотите в этом формате 2010-05-30 15:33:25. Если вам нужна только дата, используйте только тип date.

...