что корректный путь состоит в том, чтобы отформатировать дату и время в поле даты и времени SQL-сервера

У меня есть объект даты и времени в C#, и я хочу сделать вставку в поле даты и времени SQL Server. Каков правильный формат для этого?

7
задан leora 20 December 2009 в 15:31
поделиться

3 ответа

Правильный способ сделать это - использовать параметризованный запрос, не форматирование текста. Затем вы можете просто использовать строго типизированный параметр SqlDbType.DateTime .

(Если вам абсолютно необходимо использовать форматирование текста для этого - , и я настоятельно не рекомендую его - тогда что-то вроде ггггММдд ЧЧ: мм: сс должно помочь.)

16
ответ дан 6 December 2019 в 10:00
поделиться

Чтобы расширить ответ @ Luke, я столкнулся с этой ошибкой на днях.

Формат гггг-ММ-дд ЧЧ: мм: сс имеет локаль / language проблема в SQL Server 2005 (пример - французский), но исправлена ​​в SQL 2008:

Поэтому НЕ используйте этот формат: гггг-ММ-дд ЧЧ: мм: сс (пробел

Используйте только: гггг-ММ-ддTHH: мм: сс (разделитель «Т») или ггггММдд ЧЧ: мм: сс (без разделителей тире)

Важно, если вы создаете сценарии, которые включают константы datetime .

См. статью Джейми Томсона в блоге SQL

3
ответ дан 6 December 2019 в 10:00
поделиться

используйте SET DATEFORMAT

образец взят отсюда

     SET NOCOUNT ON 
     CREATE TABLE X(EXAMPLE INT, D SMALLDATETIME)
     -- EXAMPLE 1
     SET DATEFORMAT MDY
     INSERT INTO X VALUES (1, '10/30/56')
     -- EXAMPLE 2
     SET DATEFORMAT YDM
     INSERT INTO X VALUES (2, '56/31/10')
     -- EXAMPLE 3 
     SET DATEFORMAT YMD
     INSERT INTO X VALUES (3, '56/10/31')
     SELECT * FROM X
0
ответ дан 6 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: