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

Funkcja formatu daty SQL Server

W SQL Server typ danych DATETIME jest przechowywany jako 2 4-bajtowe liczby całkowite, więc jako taki nie ma określonego formatowania, takiego jak to.

Jeśli chcesz zwrócić datę w określonym formacie, musisz KONWERTOWAĆ ją do VARCHAR z odpowiednim określonym identyfikatorem formatu.

Jeśli masz datę i godzinę w VARCHAR i chcesz przechowywać ją w polu DATETIME w SQL Server, upewnij się, że przekazujesz tę wartość do SQL w formacie, który zawsze będzie bezpiecznie interpretowany. np. Format dd/mm/RRRR nie jest bezpieczny, ponieważ w zależności od ustawień może być traktowany jako mm/dd/rrrr po wejściu. Bezpieczne formaty to:

yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm

np.

INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe

Aktualizacja:
Kiedy WYBIERZ pole DATETIME (GETDATE(), pole, zmienna....) to, co widzisz w SSMS, jest sformatowaną wartością, ponieważ jest to przydatne dla Ciebie, zamiast pokazywać rzeczywistą wewnętrzną 8-bajtową reprezentację .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd logowania do programu SQL Server:logowanie nie powiodło się dla użytkownika „NT AUTHORITY\SYSTEM”

  2. Typy danych tekstowych, ntext i obrazu> nie mogą być porównywane ani sortowane, z wyjątkiem przypadku użycia operatora IS NULL lub LIKE>

  3. POKAŻ BAZY DANYCH Odpowiednik w SQL Server – sp_databases

  4. t-sql select pobierz wszystkie miesiące w zakresie lat

  5. Jak zamienić wszystkie wystąpienia ciągu na inny ciąg w SQL Server – REPLACE()