jak wstawić datetime do tabeli bazy danych SQL?
Jak wstawić datetime do tabeli bazy danych SQL ? Czy istnieje sposób na wstawienie tego zapytania za pomocą polecenia insert w C#/. Net?
4 answers
Wartości DateTime powinny być wstawiane tak, jakby były łańcuchami otoczonymi pojedynczymi cudzysłowami:
'20100301'
SQL Server pozwala na wiele akceptowanych formatów dat i powinno być tak, że większość bibliotek programistycznych dostarcza szereg klas lub funkcji do poprawnego wstawiania wartości datetime. Jeśli jednak robisz to ręcznie, ważne jest, aby odróżnić format daty za pomocą DateFormat
i użyć formatu uogólnionego:
Set DateFormat MDY --indicates the general format is Month Day Year
Insert Table( DateTImeCol )
Values( '2011-03-12' )
Ustawiając dateformat, SQL Server przyjmuje że mój format to YYYY-MM-DD
zamiast YYYY-DD-MM
.
SQL Server rozpoznaje również format generyczny, który jest zawsze interpretowany w ten sam sposób: YYYYMMDD
np. 20110312
.
Jeśli pytasz, Jak wstawić bieżącą datę i godzinę za pomocą T-SQL, polecam użycie słowa kluczowego CURRENT_TIMESTAMP
. Na przykład:
Insert Table( DateTimeCol )
Values( CURRENT_TIMESTAMP )
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-13 22:44:11
Musisz mieć kolumnę datetime w tabeli. Następnie możesz wstawić jak poniżej, aby wstawić bieżącą datę:
INSERT INTO MyTable (MyDate) Values (GetDate())
Jeśli nie jest to dzisiejsza data, powinieneś być w stanie użyć ciągu znaków i określić format daty :
INSERT INTO MyTable (MyDate) Values (Convert(DateTime,'19820626',112)) --6/26/1982
Nie zawsze musisz konwertować łańcuch znaków, często możesz po prostu zrobić coś w stylu:
INSERT INTO MyTable (MyDate) Values ('06/26/1982')
I SQL Server wykona to za Ciebie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-06 13:51:37
Jeśli masz rzeczywisty czas w umyśle GETDATE()
będzie to funkcja, której szukasz
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-13 04:30:53
myConn.Execute "INSERT INTO DayTr (dtID, DTSuID, DTDaTi, DTGrKg) VALUES (" & Val(txtTrNo) & "," & Val(txtCID) & ", '" & Format(txtTrDate, "yyyy-mm-dd") & "' ," & Val(Format(txtGross, "######0.00")) & ")"
Zrobione w vb ze wszystkimi zmiennymi typu tekstowego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-20 18:10:40