как вставить datetime в таблицу базы данных SQL?
4 ответов
значения DateTime должны быть вставлены, как если бы они были строками, окруженными одинарными кавычками:
'20100301'
SQL Server допускает множество принятых форматов дат, и большинство библиотек разработки должны предоставлять ряд классов или функций для правильной вставки значений datetime. Однако, если вы делаете это вручную, важно различать формат даты с помощью DateFormat
и использовать обобщенный формат:
Set DateFormat MDY --indicates the general format is Month Day Year
Insert Table( DateTImeCol )
Values( '2011-03-12' )
установив dateformat, SQL Server теперь предполагает, что мой формат YYYY-MM-DD
вместо YYYY-DD-MM
.
SQL Server также распознает общий формат, который всегда интерпретируется одинаково:YYYYMMDD
например 20110312
.
если вы спрашиваете, как вставить текущую дату и время с помощью T-SQL, то я бы рекомендовал использовать ключевое слово CURRENT_TIMESTAMP
. Например:
Insert Table( DateTimeCol )
Values( CURRENT_TIMESTAMP )
вам понадобится datetime столбец в таблице. Затем вы можете сделать следующую вставку, чтобы вставить текущую дату:
INSERT INTO MyTable (MyDate) Values (GetDate())
Если это не сегодняшняя дата, то вы должны иметь возможность использовать строку и укажите формат даты:
INSERT INTO MyTable (MyDate) Values (Convert(DateTime,'19820626',112)) --6/26/1982
вам не всегда нужно конвертировать строку, часто вы можете просто сделать что-то вроде:
INSERT INTO MyTable (MyDate) Values ('06/26/1982')
и SQL Server выяснит это для вас.
myConn.Execute "INSERT INTO DayTr (dtID, DTSuID, DTDaTi, DTGrKg) VALUES (" & Val(txtTrNo) & "," & Val(txtCID) & ", '" & Format(txtTrDate, "yyyy-mm-dd") & "' ," & Val(Format(txtGross, "######0.00")) & ")"
Сделано в vb со всеми переменными типа текста.