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

Jak przekonwertować kolumnę znacznika czasu programu SQL Server na format daty i godziny?

TIMESTAMP SQL Servera typ danych nie ma nic zrobić z datą i godziną!

Jest to po prostu szesnastkowa reprezentacja kolejnej 8-bajtowej liczby całkowitej - jest to dobre tylko dla upewnienia się, że wiersz nie zmienił się od czasu jego odczytania.

Możesz odczytać szesnastkową liczbę całkowitą lub jeśli chcesz BIGINT . Jako przykład:

SELECT CAST (0x0000000017E30D64 AS BIGINT)

Wynik to

400756068

W nowszych wersjach SQL Server nosi on nazwę RowVersion - bo tak naprawdę jest. Zobacz dokumentację MSDN na ROWVERSION:

To typ danych, który ujawnia automatycznie generowane, unikalne liczby binarne w bazie danych. rowversion jest zwykle używany jako mechanizm oznaczania wersji wierszy tabeli. Typ danychrowversion to tylko rosnąca liczba i nie zachowuje daty ani godziny . Aby zarejestrować datę lub godzinę, użyj typu datetime2data.

Więc nie możesz przekonwertować SQL Server TIMESTAMP do daty/czasu - to po prostu nie jest data/czas.

Ale jeśli mówisz znacznik czasu, ale tak naprawdę masz na myśli DATETIME kolumna — możesz użyć dowolnego z tych prawidłowych formatów daty opisanych w tematach PRZESYŁANIE i KONWERTOWANIE w pomocy MSDN. Są one definiowane i obsługiwane „od ręki” przez SQL Server. Wszystko inne nie jest obsługiwane, np. musisz dużo ręcznie rzucać i łączyć (niezalecane).

Format, którego szukasz, przypomina nieco kanoniczny ODBC (styl =121):

DECLARE @today DATETIME = SYSDATETIME()

SELECT CONVERT(VARCHAR(50), @today, 121)

daje:

2011-11-14 10:29:00.470

SQL Server 2012 w końcu będzie miał FORMAT funkcja do niestandardowego formatowania......



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przywracanie głównej bazy danych programu SQL Server

  2. Jak usunąć plik danych z bazy danych programu SQL Server (T-SQL)

  3. Co oznacza podwójne w serwerze sql?

  4. Przekaż Dictionary<string,int> do procedury składowanej T-SQL

  5. JSON_QUERY() Przykłady w SQL Server (T-SQL)