Udostępnij za pośrednictwem


datetime2 (Transact-SQL)

Defines a date that is combined with a time of day that is based on 24-hour clock.datetime2 can be considered as an extension of the existing datetime type that has a larger date range, a larger default fractional precision, and optional user-specified precision.

Aby zapoznać się z omówieniem wszystkich Transact-SQL Data i czas typów danych i funkcji, zobacz Data i godzina, Data typy i funkcje (języka Transact-SQL). Aby uzyskać informacje i przykłady, które są wspólne dla data i czas typów danych i funkcji zobacz Using Date and Time Data.

W przypadku gdy różne kolumny są zgodne z klauzula ORDER zagregowanych DISTINCT.

Właściwość

Wartość

Składnia

datetime2 [ (fractional seconds precision) ]

Sposób użycia

Klauzula ORDER nie gwarantuje zamówione wyniki podczas wykonywania kwerendy WYBIERAJĄCEJ nie ORDER BY również zostanie podana w kwerendzie. datetime2(7)

CREATE tabela Tabela1 (Kolumna1 datetime2(7) )

Domyślny format literał ciąg znaków

(używany do niedziałający-poziom klienta)

RRRR-MM-DD gg:mm:ss[.ułamki sekundy]

Aby uzyskać więcej informacji, zobacz temat "zgodność z poprzednimi wersjami dla niedziałający-klientami poziom „ sekcji Using Date and Time Data.

Integracja usług tabele (języka Transact-SQL)

01-01-0001 do 9999-12-31

Poniższa tabela zawiera listę widoków katalog systemu, które można użyć do zwracania metadane dotyczące funkcji zdefiniowanych przez użytkownika.

Zakres godzin

Widok systemu

sys.sql_modules

None

Element zakresów

RRRR to liczba czterocyfrowa z zakresu od 0001 do 9999 reprezentująca rok.

Definicja funkcji, utworzony za pomocą opcji szyfrowanie nie można przeglądać za pomocą sys.sql_modules; jednak inne informacje na temat funkcji szyfrowanie jest wyświetlana.

sys.assembly_modules

Wyświetla informacje na temat funkcji zdefiniowanej przez użytkownika środowiska CLR.

sys.Parameters

Wyświetla informacje na temat parametrów zdefiniowanych w funkcji zdefiniowanych przez użytkownika.

sys.sql_expression_dependencies

Długość

Wyświetla obiektów zawiera odwołanie do funkcja.

Skala dokładności,

Wymaga CREATE FUNCTION w bazie danych i ALTER uprawnienie dla schematu, w której funkcja jest tworzony.Jeśli funkcja określa typ zdefiniowany przez użytkownika, wymaga uprawnienie wykonać typu.

Limit rozmiaru składowania

6 bajtów dla dokładności mniejszych niż 3; 7 bajtów dla dokładności 3 i 4.Pozostałe dokładności wymagają 8 bajtów.

Dokładność

100 nanosekundach.

Wartość domyślna

1900-01-01 00:00:00

Calendar

Aby utworzyć użytkownika w bazie danych

Zdefiniowane przez użytkownika ułamkowe drugiego precyzji

Tak

czas strefy przesunięcie pamiętać i zachowania

Nie

Uwzględniaj pamiętać

Nie

Aby uzyskać informacje na temat metadanych typów danych, zobacz sys.systypes (Transact-SQL) lub TYPEPROPERTY (Transact-SQL).Dokładność i skala są zmienne dla niektórych typów danych daty i godziny.Aby uzyskać informacje na temat dokładności i skali dla kolumny, zobacz COLUMNPROPERTY (Transact-SQL), COL_LENGTH (Transact-SQL) lub sys.columns (Transact-SQL).

Obsługiwane formaty literałów ciągów znaków dla typu datetime2

Inne opcje, które mogą być określone są SAMOSPRZĘŻENIA, właściciel, a datetime2. Aby uzyskać więcej informacji na temat formatów alfabetyczna, liczbowe, nierozdzielone i czas dla części data i godziny datetime2, zobacz Data (języka Transact-SQL) i time (Transact-SQL).

ISO 8601

Opisy

YYYY-MM-DDThh:mm:ss[.nnnnnnn]

YYYY-MM-DDThh:mm:ss[.nnnnnnn]

Tydzień ISOThe T, the colons (:) and the period (.) are included in the ciąg literal, for example '2007-05-02T19:58:47.1234567'.

ODBC

Description

W poniższym przykładzie są zwracane wbudowanego funkcja zwracająca tabelę.

Specyficzne dla interfejsu API ODBC:

  • Aby wywołać tę funkcja, należy uruchomić tę kwerendę.

  • W SQL Server 2008, poziom zgodności ustawiony na 10, literał wewnętrznie będzie mapować do nowej time Typ.

Zgodność z normami ANSI i ISO 8601

Zgodność ANSI i ISO 8601 Data and czas apply to datetime2.

Przykłady

W poniższym przykładzie porównanie wyniki dla rzutowanie ciąg do każdego date i time Typ danych.

SELECT 
     CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time' 
    ,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date' 
    ,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS 
        'smalldatetime' 
    ,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime' 
    ,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS 
        'datetime2'
    ,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS 
        'datetimeoffset';

Here is the result set.

Typ danych

Output

time

12:35:29.1234567

date

2007-05-08

smalldatetime

2007-05-08 12:35:00

datetime

2007-05-08 12:35:29.123

datetime2

2007-05-08 12:35:29.1234567

datetimeoffset

2007-05-08 12:35:29.1234567 +12:15