Udostępnij za pośrednictwem


Użycie typu danych

The SQL Server Native klient ODBC driver and SQL Server impose the following use of data types.

Typ danych

Ograniczenia

Literały dat

Data literały, gdy są przechowywane w SQL_TYPE_TIMESTAMP kolumna ()SQL Server typy danych Data/Godzina or Smalldatetime), mają wartość czas 12:00:00.000 o

pieniądze and Smallmoney

Tylko liczby całkowitej części pieniądze and Smallmoney typy danych są istotne.Jeśli część dziesiętną SQL pieniądze dane zostaną obcięte podczas konwersji typów danych, SQL Server Macierzysty sterownik ODBC klient zwraca komunikat ostrzegawczy, ale nie błąd.

SQL_BINARY (nullable)

Po podłączeniu do wystąpienie SQL Server wersja 6.0 i starsze, jeśli kolumna SQL_BINARY jest pustych, dane, które są przechowywane w danych urządzenie źródłowe nie jest wypełniane zerami. Po pobraniu danych z takiej kolumna SQL Server Macierzysty sterownik ODBC klient pads ją zerami po prawej stronie. Jednak dane, które utworzono w operacjach wykonywanych przez SQL Server, takich jak łączenie, nie ma takiego uzupełnienie.

Ponadto, kiedy dane umieszczane w kolumna w wystąpieniu SQL Server 6.0 lub starszym, SQL Server obcina danych po prawej stronie, jeśli jest zbyt długi do dopasowanie w tej kolumnie.

NoteNote:
The SQL Server Native klient ODBC driver does support connecting to SQL Server 6.5 and earlier.

SQL_CHAR (skracania)

Po podłączeniu do wystąpienie SQL Server 6.0 i wcześniejszych, i dane umieszczane kolumna SQL_CHAR, SQL Server obcina go po prawej stronie bez ostrzeżenia, jeśli danych jest za długi i nie mieści się kolumna.

NoteNote:
The SQL Server Native klient ODBC driver does support connecting to SQL Server 6.5 and earlier.

SQL_CHAR (nullable)

Po podłączeniu do wystąpienie SQL Server 6.0 i starsze, jeśli kolumna SQL_CHAR jest pustych, dane, które są przechowywane w źródle danych nie jest wypełniane ze spacjami. Po pobraniu danych z takiej kolumna SQL Server Macierzysty sterownik ODBC klient pads go z pustych miejsc po prawej stronie. Jednak dane, które utworzono w operacjach wykonywanych przez SQL Server, takich jak łączenie, nie ma takiego uzupełnienie.

NoteNote:
The SQL Server Native klient ODBC driver does support connecting to SQL Server 6.5 and earlier.

SQL_WLONGVARCHAR SQL_LONGVARBINARY SQL_LONGVARCHAR,

Aktualizacje kolumn z SQL_LONGVARBINARY, SQL_LONGVARCHAR lub SQL_WLONGVARCHAR typów danych (przy użyciu klauzula WHERE), które wpływają na wiele wierszy są w pełni obsługiwane podczas połączenia z wystąpienie programu SQL Server 6. x i później.Po podłączeniu do wystąpienie SQL Server 4.2x, an S1000 błąd, "Częściowe wstawienie/aktualizacja.Wstawienie/aktualizacja tekst lub obraz kolumna (s) nie powiodło się "jest zwracana, jeśli aktualizacja ma wpływ na więcej niż jeden wiersz.

NoteNote:
The SQL Server Native klient ODBC driver does support connecting to SQL Server 6.5 and earlier.

Ciąg parametrów funkcja

string_exp parametry do ciąg funkcji musi być danych wpisz SQL_CHAR lub SQL_VARCHAR.Typy danych SQL_LONG_VARCHAR nie są obsługiwane w funkcji ciągów.The count parameter must be less than or equal to 8,000 because the SQL_CHAR and SQL_VARCHAR data types are limited to a maximum length of 8,000 characters.

Literały czas

Literały razem, gdy są przechowywane w polu (kolumnie do SQL_TIMESTAMPSQL Server typy danych Data/Godzina or Smalldatetime), mają wartość Data 1 stycznia 1900 roku.

Sygnatura czasowa

Wartości NULL mogą być ręcznie wstawiane do Sygnatura czasowa kolumna.Jednak ponieważ Sygnatura czasowakolumny są automatycznie aktualizowane przez SQL Server, zastępowane są wartości NULL.

tinyint

The SQL Server tinyint data type is unsigned.A tinyint kolumna jest związany z zmiennej typu danych SQL_C_UTINYINT domyślnie.

Typy danych alias

Po podłączeniu do wystąpienie SQL Server 4.2x, sterownik ODBC dodaje wartości NULL do definicji kolumna, która nie jawnie deklarować opcje dopuszczania wartości null kolumna.Dlatego też opcje dopuszczania wartości null, który jest przechowywany w definicji typu danych alias jest ignorowana.

Po podłączeniu do wystąpienie SQL Server 4.2x, kolumn, których typem danych alias, która ma określony podstawowy typ danych CHAR or plik binarny i dla których opcje dopuszczania wartości null nie jest zadeklarowany jako są tworzone jako to typ danychvarchar or varbinarnym.SQLColAttribute, SQLColumns, and SQLDescribeCol zwracać SQL_VARCHAR lub SQL_VARBINARY jako typ danych dla tych kolumn.Dane, które są pobierane z tych kolumn nie jest wypełniane.

NoteNote:
The SQL Server Native klient ODBC driver does support connecting to SQL Server 6.5 and earlier.

Typy danych LONG

dane na wykonanie parametry są ograniczone SQL_LONGVARBINARY i SQL_LONGVARCHAR typów danych.

Typy duża wartość

The SQL Server Native klient ODBC driver will expose varchar(max), varbinary(max), and nvarchar(max) types as SQL_VARCHAR, SQL_VARBINARY and SQL_WVARCHAR (respectively) in APIs that accept or return ODBC SQL data types.

typ zdefiniowany przez użytkownika (UDT)

Kolumny UDT są mapowane jako SQL_SS_UDT.Jeśli kolumna UDT jest jawnie mapowany do innego typu w instrukcja języka SQL, używając metody ToString() lub ToXMLString() the UDT lub za pomocą funkcji CAST/CONVERT typu kolumny zestaw wyników będzie odzwierciedlać typ rzeczywistych, do których została przekonwertowana w kolumnie.

The SQL Server Native Client ODBC driver can only bind to a UDT column as binary.SQL Server only supports conversion between the SQL_SS_UDT and SQL_C_BINARY data types.

XML

SQL Server automatycznie przekonwertuje XML tekst Unicode.Typ XML jest mapowany jako SQL_SS_XML.

See Also

Concepts