Udostępnij za pośrednictwem


Pomoc techniczna dla typów Data/Godzina sql_variant

W tym temacie opisano sposób sql_variant Typ danych obsługuje rozszerzone data i czas funkcji.

The column attribute SQL_CA_SS_VARIANT_TYPE is used to return the C type of a variant result column.SQL Server 2008 introduces an additional attribute, SQL_CA_SS_VARIANT_SQL_TYPE, which sets the SQL type of a variant result column in the implementation row descriptor (IRD).SQL_CA_SS_VARIANT_SQL_TYPE również mogą być używane w implementacji parametr deskryptora zabezpieczeń (IPD), aby określić typ SQL a SQL_SS_TIME2 lub SQL_SS_TIMESTAMPOFFSET parametr, który ma SQL_C_BINARY C, wpisz związany z typem SQL_SS_VARIANT.

Nowe typy SQL_SS_TIME2 i SQL_SS_TIMESTAMPOFF zestaw może być zestaw przez SQLColAttribute. SQL_CA_SS_VARIANT_SQL_TYPE mogą być zwracane przez SQLGetDescField.

Dla kolumn z wynikami sterownik zostanie przekonwertowana z wariant do typu Data/Godzina.Aby uzyskać więcej informacji zobaczPodczas konwersji z SQL do C.Podczas wiązania z SQL_C_BINARY, musi być wystarczająco duży, aby otrzymać struktura odpowiadająca typowi SQL długość buforu.

Dla parametrów SQL_SS_TIME2 i SQL_SS_TIMESTAMPOFFSET sterownik przekonwertuje wartości C sql_variant wartości, jak to opisano w poniższej tabela. Jeśli parametr jest powiązany jako SQL_C_BINARY SQL_SS_VARIANT jest typ serwera, jest traktowany jako wartość binarna, chyba że aplikacja ma zestaw SQL_CA_SS_VARIANT_SQL_TYPE do innego typu programu SQL.W takim przypadek pierwszeństwo ma SQL_CA_SS_VARIANT_SQL_TYPE, czyli, jeśli jest SQL_CA_SS_VARIANT_SQL_TYPE zestaw, ustawienie to zastępuje domyślne zachowanie deducing typ wariantu SQL z typu C.

Typ c

Typ serwera

Komentarze

SQL_C_CHAR

varchar

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_WCHAR

nvarcar

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_TINYINT

smallint

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_STINYINT

smallint

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_SHORT

smallint

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_SSHORT

smallint

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_USHORT

int

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_LONG

int

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_SLONG

int

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_ULONG

bigint

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_SBIGINT

bigint

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_FLOAT

rzeczywiste

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_DOUBLE

zmiennoprzecinkowe

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_BIT

bit

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_UTINYINT

tinyint

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_BINARY

varbinary

Nie jest SQL_CA_SS_VARIANT_SQL_TYPE zestaw.

SQL_C_BINARY

godzina

SQL_CA_SS_VARIANT_SQL_TYPE = SQL_SS_TIME2

Skala jest zestaw do SQL_DESC_PRECISION ( DecimalDigits Parametr SQLBindParameter).

SQL_C_BINARY

datetimeoffset

SQL_CA_SS_VARIANT_SQL_TYPE = SQL_SS_TIMESTAMPOFFSET

Skala jest zestaw do SQL_DESC_PRECISION ( DecimalDigits Parametr SQLBindParameter).

SQL_C_TYPE_DATE

data

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_TYPE_TIME

czas(0)

SQL_CA_SS_VARIANT_SQL_TYPE jest ignorowana.

SQL_C_TYPE_TIMESTAMP

datetime2

Skala jest zestaw do SQL_DESC_PRECISION ( DecimalDigits Parametr SQLBindParameter).

SQL_C_NUMERIC

decimal

Dokładność jest zestaw do SQL_DESC_PRECISION ( ColumnSize Parametr SQLBindParameter).

Ustaw skalę na SQL_DESC_SCALE ( DecimalDigits Parametr SQLBindParameter).

See Also

Concepts