SQL_VARIANT_PROPERTY 返回有关 sql_variant 值的基本数据类型和其他信息
2010-04-19 23:25
447 查看
语法
SQL_VARIANT_PROPERTY ( expression , property )
参数
expression
类型为 sql_variant 的表达式。
property
包含将为其提供信息的 sql_variant 属性的名称。property 的数据类型为 varchar(128),可以是下列值之一。
返回类型
sql_variant
示例
以下示例检索有关 colA 值 46279.1 的 SQL_VARIANT_PROPERTY 信息,其中,colB = 1689,并假设 tableA 有类型为 sql_variant 和 colB 的 colA。
CREATE TABLE tableA(colA sql_variant, colB int)
INSERT INTO tableA values ( cast (46279.1 as decimal(8,2)), 1689)
SELECT SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',
SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',
SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale'
FROM tableA
WHERE colB = 1689
下面是结果集:请注意,这三个值中的每一个都是 sql_variant。
Base Type Precision Scale
--------- --------- -----
decimal 8 2
(1 row(s) affected)
SQL_VARIANT_PROPERTY ( expression , property )
参数
expression
类型为 sql_variant 的表达式。
property
包含将为其提供信息的 sql_variant 属性的名称。property 的数据类型为 varchar(128),可以是下列值之一。
值 | 说明 | 返回的 sql_variant 基本类型 |
BaseType | SQL Server 数据类型,例如: bigint binary char date datetime datetime2 datetimeoffset decimal float int money nchar numeric nvarchar real smalldatetime smallint smallmoney time tinyint uniqueidentifier varbinary varchar | sysname NULL = 输入无效。 |
Precision | 数值基本数据类型的位数: datetime = 23 smalldatetime = 16 float = 53 real = 24 decimal (p,s) 和 numeric (p,s) = p money = 19 smallmoney = 10 bigint = 19 int = 10 smallint = 5 tinyint = 3 bit = 1 所有其他类型 = 0 | int NULL = 输入无效。 |
Scale | 数值基本数据类型的小数点后的位数: decimal (p,s) 和 numeric (p,s) = s money 和 smallmoney = 4 datetime = 3 所有其他类型 = 0 | int NULL = 输入无效。 |
TotalBytes | 同时容纳值的元数据和数据所需的字节数。在检查 sql_variant 列中数据的最大一侧时,该信息很有用。如果该值大于 900,则索引创建将失败。 | int NULL = 输入无效。 |
Collation | 代表特定 sql_variant 值的排序规则。 | sysname NULL = 输入无效。 |
MaxLength | 最大数据类型长度(字节)。例如,nvarchar(50) 的 MaxLength 是 100,int 的 MaxLength 是 4。 | int NULL = 输入无效。 |
sql_variant
示例
以下示例检索有关 colA 值 46279.1 的 SQL_VARIANT_PROPERTY 信息,其中,colB = 1689,并假设 tableA 有类型为 sql_variant 和 colB 的 colA。
CREATE TABLE tableA(colA sql_variant, colB int)
INSERT INTO tableA values ( cast (46279.1 as decimal(8,2)), 1689)
SELECT SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',
SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',
SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale'
FROM tableA
WHERE colB = 1689
下面是结果集:请注意,这三个值中的每一个都是 sql_variant。
Base Type Precision Scale
--------- --------- -----
decimal 8 2
(1 row(s) affected)
相关文章推荐
- SQL查询有关 sql_variant 值的基本数据类型和其他信息
- 我要从com向应用程序返回一个结构,结构中包括二进制数据,请问用什么方式传替比较好呢?BSTR,VARIANT还是其他什么类型比较好呢
- 我要从com向应用程序返回一个结构,结构中包括二进制数据,请问用什么方式传替比较好呢?BSTR,VARIANT还是其他什么类型比较好呢
- 《深入理解计算机系统》笔记一:信息的表示与处理(1)——基本数据类型与字节序
- 使用EF保存数据时 提示: 其他信息: 对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。
- Mysql/SQLServer数据类型与java基本数据类型的对应
- Mysql/SQLServer数据类型与java基本数据类型的对应
- java基本数据类型及其他基础
- 【数据库基础】SQL中的基本数据类型
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- 参数数据类型 sql_variant 对于 like 函数的参数 1 无效。
- _variant_t与其他数据类型的转换
- 基本数据类型的包装类型作为参数传递,以及其他引用类型作为参数传递,以及List中值的交换的一些问题
- 帮网友写的一个SQL,求某组数据的第二大值,以及该行数据的基本信息
- T-Sql学习(1) - 基本数据类型和聚合函数
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- 利用sql_variant查看数据的类型
- Mysql/SQLServer数据类型与java基本数据类型的对应
- Java基本数据类型(拼凑其他作者文章)
- SQL点滴4—筛选数据列的类型,字段大小,是否可为空,是否是主键,约束等等信息