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

Które ustawienia zapewniają domyślny format daty i godziny programu SQL Server?

Nie rób tego! Nie używaj ciągów zamiast dat i nie używaj formatu daty lub daty i godziny specyficznego dla kultury, to przepis na katastrofę.

SQL Server nie ma „formatu daty”, tylko formaty używane do konwersji dat na i z ciągów. Jednym z nich jest domyślny, kontrolowany przez sortowanie serwera. Nie możesz ani zakładać, ani polegać na określonym zestawieniu, dlatego powinieneś unikać konwersji, gdy tylko jest to możliwe. Co więcej, przekazanie wartości ciągu może uniemożliwić SQL Server używanie indeksów w kolumnach dat, ponieważ musiałby przekonwertować ciąg na podstawowy typ kolumny.

O wiele łatwiej i bezpieczniej jest przekazywać daty jako zmienne lub parametry typu data. W ten sposób unikniesz całego bałaganu związanego z konwersją, do iz powrotem oraz unikniesz ataków typu SQL injection.

Nie ma powodu, aby przekazywać do serwera ciągi znaków zamiast dat. Wszyscy klienci SQL Server (w tym ADO.NET) umożliwiają wykonywanie zapytań parametrycznych. ORM, takie jak NHibernate i Entity Framework, również generują sparametryzowane zapytania dla kolumn o typie daty.

Zawsze, gdy musisz utworzyć literał ciągu, użyj jednego z niezmiennych formatów, takich jak 20140913 lub 2012-11-07T18:26:20

Więcej na ten temat możesz przeczytać na Pisanie międzynarodowych instrukcji T-SQL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Analiza przypadku aktualizacji sprzętu serwera bazy danych SQL Server

  2. ExecutenonQuery nie działa

  3. Zwróć listę wyzwalaczy w SQL Server

  4. Maksymalna funkcja serwera SQL

  5. Jak mogę wyrównać pole varchar do prawej w TSQL?