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

Zachowanie formatu podczas przekazywania wartości DateTime do procedury składowanej

DateTime to DateTime to DateTime - nie „ma” żadnego (zorientowanego na ciąg znaków) formatu, gdy jest przechowywany w SQL Server (jest przechowywany jako 64-bitowy). Jeśli przekażesz parametr do procedury składowanej jako DateTime już powinno być dobrze! Wartość będzie przechowywana przez SQL Server bez zmiana dowolnego formatowania - ponieważ nie jest z nim powiązane żadne formatowanie...

Jedyny punkt, w którym data jest reprezentowana w danym formacie ciągu ma miejsce, gdy patrzysz na niego w SQL Server Management Studio lub gdy konwertujesz go do formatu ciągu np. Twoja aplikacja .NET.

Kiedy musisz jakoś przekazać reprezentację ciągu do SQL Server (np. do wyszukiwania itp.), ten, który jest najbardziej niezawodny i będzie działał z dowolnym ustawienie regionalne/językowe to ISO-8601 format daty:YYYYMMDD lub alternatywnie (jeśli potrzebujesz części czasu) YYYY-MM-DDTHH:MM:SS (gdzie T w środku znajduje się dosłowny, oddzielający części daty i godziny)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównaj daty w T-SQL, ignorując część czasu

  2. Ustaw IDENTITY_INSERT ON nie działa

  3. Hibernacja Java z SQL Server 2012 nie działa?

  4. Dwukrotne wybranie funkcji GETDATE() na liście wyboru — ta sama wartość dla obu?

  5. Jak wyświetlić plan wykonywania zapytań w Azure Data Studio (SQL Server)