Udostępnij za pośrednictwem


Data/Godzina ulepszenia

W tym temacie opisano obsługi, który został dodany do SQL Server Macierzysta 10.0 klient do nowej data i czas dodane w typach danych SQL Server 2008.

Aby uzyskać więcej informacji o dacie / czas ulepszeń, zobacz Data/Godzina ulepszenia (OLE DB) i Data / czas ulepszenia (ODBC).

Aby uzyskać informacje na temat przykładowych aplikacji, które wskazują tej funkcji zobacz Considerations for Installing SQL Server Samples and Sample Databases.

Sposób użycia

W poniższych sekcjach opisano różne sposoby korzystania z nową datą i czas typów.

Użyj data jako typ danych DISTINCT

Zaczyna się od SQL Server 2008, rozszerzona obsługa daty / czas typów pozwala na efektywniejsze typu SQL_TYPE_DATE ODBC (SQL_DATE aplikacji ODBC 2.0) i typ DBTYPE_DBDATE OLE DB.

Użyj czas jako typ danych DISTINCT

OLE DB ma już typu danych, zawierające tylko czas, DBTYPE_DBTIME, mającą z dokładnością do 1 sekundy.W ODBC SQL_TYPE_TIME (SQL_TIME aplikacji ODBC 2.0) jest równoważna typu.

Nowy SQL Server czas na dane typu ma dokładność w 100 nanosekundach ułamków sekund. Wymaga to nowe typy w SQL Server Klient macierzysty: DBTYPE_DBTIME2 (OLE DB) oraz SQL_SS_TIME2 (ODBC). Istniejące aplikacje napisane do czas za pomocą nie ułamków sekund, można użyć kolumny czas(0).Istniejące typy DBTYPE_TIME OLE DB i SQL_TYPE_TIME ODBC i ich odpowiednich strukturach powinny działać poprawnie, chyba że aplikacje zależne od typu metadane.

Użyj czas jako typ danych DISTINCT z Precision rozszerzonym sekundy ułamkowe

Niektóre aplikacje, takie jak kontrola procesu i produkcji aplikacji, wymagają możliwość obsługi dane o czasie z dokładnością do maksymalnie 100 nanosekundach.Nowe typy do tego celu są DBTYPE_DBTIME2 (OLE DB) oraz SQL_SS_TIME2 (ODBC).

Za pomocą dodatkowego sekundy ułamkowe Precision daty/godziny

OLE DB definiuje już typu z dokładnością do 1 nanosecond.Jednak ten typ jest już używany przez istniejące SQL Server aplikacje i takie aplikacje mają oczekiwania tylko 1/300 z dokładnością do drugiego. Nowy datetime2(3) Typ nie jest bezpośrednio zgodne z istniejącego typu Data/Godzina. Jeśli istnieje ryzyko, że będzie to miało wpływ na zachowanie aplikacji, aplikacje muszą używać nowej flagi DBCOLUMN do określenia typu rzeczywistego serwera.

ODBC definiuje również typu z dokładnością do 1 nanosecond.Jednak ten typ jest już używany przez istniejące SQL Server aplikacje i takie aplikacje oczekiwać, że tylko 3 milisekundy precyzji. The new datetime2(3) type is not directly compatible with the existing datetime type.datetime2(3) has a precision of one millisecond, and datetime has a precision of 1/300 of a second.W ODBC aplikacje można określić typ serwera, który jest używany z pole deskryptora SQL_DESC_TYPE_NAME.Z tego powodu można użyć istniejącego typu SQL_TYPE_TIMESTAMP (SQL_TIMESTAMP aplikacji ODBC 2.0) dla obu typów.

Użyj daty/godziny z rozszerzonym ułamkowe sekundy dokładność i Timezone

Niektóre aplikacje wymagają wartości typu Data/Godzina z informacjami timezone.Jest to obsługiwane przez nowe DBTYPE_DBTIMESTAMPOFFSET (OLE DB) oraz typy SQL_SS_TIMESTAMPOFFSET (ODBC).

Należy użyć danych Date/czas/Dateczas/Dateczasoffset zgodności z istniejącymi Conversions Conversions po stronie klient

ODBC standard opisano, jak działają podczas konwersji między istniejące data, czas i typy sygnatury czasowej.Są one rozszerzone w spójny sposób dołączyć podczas konwersji między wszystkie typy data i godziny w SQL Server 2008.