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

Jak rzucić DateTime na czas?

Time nie jest przechowywany w wyświetlanym formacie w SQL Server.
Dlatego z perspektywy użytkownika można powiedzieć, że nie ma formatu.
Oczywiście nie jest to całkowicie dokładne, ponieważ ma format przechowywania , ale jako przeciętny użytkownik tak naprawdę nie możesz go używać.
Dotyczy to wszystkich typów danych daty i godziny:
Date , DateTimeOffset , DateTime2 , SmallDateTime , DateTime i Time .

Jeśli potrzebujesz formatu, nie musisz przesyłać na time ale do char . Użyj Convert aby uzyskać char potrzebujesz:

SELECT CONVERT(char(10), [time], 108) as CSTTime 

Oto kilka podstawowych danych, jeśli jesteś zainteresowany:

W tym artykule opublikowanym w 2000 roku autor szczegółowo wyjaśnia, w jaki sposób SQL Server traktuje daty i godziny. Wątpię, czy między 2000 a 2015 rokiem zmieniło się coś istotnego w sposobie przechowywania date przez SQL Server , time i datetime wartości wewnętrznie.

Oto odpowiednie cytaty, jeśli nie chcesz ich czytać w całości:

Więc w jaki sposób SQL Server wewnętrznie przechowuje daty? Wykorzystuje 8 bajtów do przechowywania wartości daty i godziny — pierwsze 4 dla daty, a drugie 4 dla czasu. SQL Server może interpretować oba zestawy 4 bajtów jako liczby całkowite.
........
........
SQL Server przechowuje drugą liczbę całkowitą dla czasu jako liczba tyka po północy. Sekunda zawiera 300 tików, więc tik to 3,3 milisekundy (ms).

od time jest faktycznie przechowywana jako 4-bajtowa liczba całkowita, tak naprawdę nie ma formatu jako integralnej części typu danych.

Możesz również zapoznać się z tym artykułem, aby uzyskać bardziej szczegółowe wyjaśnienie z przykładami kodu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak obsługiwać wiele obiektów za pomocą okna szczegółów Eksploratora obiektów w SSMS — samouczek SQL Server / TSQL, część 22

  2. Monitorowanie oczekiwanej długości życia strony w SQL Server

  3. SQL Server FOR XML Path tworzy powtarzające się węzły

  4. Jak korzystać z procedury przechowywanej „sp_server_info” w programie SQL Server?

  5. SQL Server SELECT, gdzie dowolna kolumna zawiera „x”