sql_variant Tarih ve saat türleri için destek
Bu konuyu açıklar nasıl sql_variantveri türü, Gelişmiş tarih ve saat işlevleri destekler.
SQL_CA_SS_VARIANT_TYPE c döndürmek için kullanılan sütun özniteliği varyant sonuç sütunu girin. SQL Server 2008ek öznitelik, varyant sonuç sütunu sql türü uygulama satır tanımlayıcısı (IRD) ayarlayan SQL_CA_SS_VARIANT_SQL_TYPE tanıttı. SQL_CA_SS_VARIANT_SQL_TYPE de uygulama parametresi tanımlayıcısı (IPD) bir SQL_SS_TIME2 sql türünü belirtmek için kullanılabilir veya SQL_C_BINARY yazın c SQL_SS_TIMESTAMPOFFSET parametresinin türü ile SQL_SS_VARIANT bağlı.
Yeni türler SQL_SS_TIME2 ve SQL_SS_TIMESTAMPOFFSET ayarlanabilir SQLColAttribute. SQL_CA_SS_VARIANT_SQL_TYPE iade tarafından SQLGetDescField.
Sonuç sütun için Tarih ve saat türleri için değişken sürücü dönüştürür. Daha fazla bilgi için, bkz. sql gelen dönüştürmeleri c. SQL_C_BINARY için bağlanırken, arabellek uzunluğu sql türüne karşılık gelen yapı alacak kadar büyük olmalıdır.
SQL_SS_TIME2 ve SQL_SS_TIMESTAMPOFFSET parametreleri, sürücü c değerlere dönüştürmek sql_variant, değerleri aşağıdaki tabloda açıklandığı gibi. Uygulama SQL_CA_SS_VARIANT_SQL_TYPE bazı diğer sql türü ayarlamadıysanız parametre SQL_C_BINARY bağlıdır ve SQL_SS_VARIANT sunucu türü ise, ikili değer değerlendirilir. Bu durumda SQL_CA_SS_VARIANT_SQL_TYPE önceliklidir; SQL_CA_SS_VARIANT_SQL_TYPE ayarlanmışsa, yani deducing variant sql türü c türü varsayılan davranış Bu geçersiz kılar.
C tipi |
Sunucu türü |
Açıklamalar |
---|---|---|
SQL_C_CHAR |
varchar |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_WCHAR |
nvarcar |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_TINYINT |
smallint |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_STINYINT |
smallint |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_SHORT |
smallint |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_SSHORT |
smallint |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_USHORT |
int |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_LONG |
int |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_SLONG |
int |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_ULONG |
bigint |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_SBIGINT |
bigint |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_FLOAT |
real |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_DOUBLE |
float |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_BIT |
bit |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_UTINYINT |
tinyint |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_BINARY |
varbinary |
SQL_CA_SS_VARIANT_SQL_TYPE ayarlanmamış. |
SQL_C_BINARY |
Saat |
SQL_CA_SS_VARIANT_SQL_TYPE SQL_SS_TIME2 = Ölçek SQL_DESC_PRECISION ayarlanır ( DecimalDigitsparametresi SQLBindParameter). |
SQL_C_BINARY |
datetimeoffset |
SQL_CA_SS_VARIANT_SQL_TYPE SQL_SS_TIMESTAMPOFFSET = Ölçek SQL_DESC_PRECISION ayarlanır ( DecimalDigitsparametresi SQLBindParameter). |
SQL_C_TYPE_DATE |
tarihi |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_TYPE_TIME |
Time(0) |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır. |
SQL_C_TYPE_TIMESTAMP |
datetime2 |
Ölçek SQL_DESC_PRECISION ayarlanır ( DecimalDigitsparametresi SQLBindParameter). |
SQL_C_NUMERIC |
decimal |
Duyarlık SQL_DESC_PRECISION ayarlanır ( ColumnSizeparametresi SQLBindParameter). Ölçek ayarlamak için sql_desc_scale ( DecimalDigitsparametre). |
SQL_C_SS_TIME2 |
Saat |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır |
SQL_C_SS_TIMESTAMPOFFSET |
datetimeoffset |
SQL_CA_SS_VARIANT_SQL_TYPE sayılır |