Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wstaw przekonwertowany varchar na datetime sql

Jeśli musisz użyć formatu daty opartego na ciągach, wybierz taki, który jest bezpieczny i działa w każdej instancji SQL Server, niezależnie od formatu daty, języka i ustawień regionalnych.

Ten format jest znany jako ISO-8601 format i to albo

YYYYMMDD      (note: **NO** dashes!)

lub

YYYY-MM-DDTHH:MM:SSS

na DATETIME kolumna.

Więc zamiast

Convert(datetime, '28/11/2012', 103)

powinieneś użyć

CAST('20121128' AS DATETIME)

i wtedy powinno być dobrze.

Jeśli korzystasz z SQL Server 2008 - możesz również przyjrzeć się użyciu DATE (zamiast DATETIME ) w przypadkach, gdy potrzebujesz tylko daty (bez czasu). Byłoby to jeszcze łatwiejsze niż użycie DATETIME i mając zawsze część czasu na 00:00:00



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sztuczki, jak wykonać ciąg wewnątrz funkcji w Sql Server

  2. SQL Server 2016:Projektant zapytań

  3. Czy mogę dodać funkcję zdefiniowaną przez użytkownika na poziomie serwera w SQL Server 2008 r2?

  4. SQL Server - oblicz czas, jaki upłynął między dwoma znacznikami daty i godziny w formacie GG:MM:SS

  5. Sprawdź, czy pole jest numeryczne, a następnie wykonaj porównanie tylko na tych polach w jednej instrukcji?