当前位置: 首页 > news >正文

SQL查询有关 sql_variant 值的基本数据类型和其他信息

SQL_VARIANT_PROPERTY (Transact-SQL)

返回有关 sql_variant 值的基本数据类型和其他信息。

Transact-SQL 语法约定

语法

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

moneysmallmoney = 4

datetime = 3

所有其他类型 = 0

int

NULL = 输入无效。

TotalBytes

同时容纳值的元数据和数据所需的字节数。在检查 sql_variant 列中数据的最大一侧时,该信息很有用。如果该值大于 900,则索引创建将失败。

int

NULL = 输入无效。

Collation

代表特定 sql_variant 值的排序规则。

sysname

NULL = 输入无效。

MaxLength

最大数据类型长度(字节)。例如,nvarchar(50)MaxLength 是 100,intMaxLength 是 4。

int

NULL = 输入无效。

返回类型

sql_variant

示例

以下示例检索有关 colASQL_VARIANT_PROPERTY 信息。

CREATE TABLE tableA(colA sql_variant, colB int)

INSERT INTO tableA VALUES ( cast (46279.1 as decimal(8,2)), 1689)

INSERT INTO tableA VALUES ( 'abcde' ,1700 )

INSERT INTO tableA VALUES ( $5.88 ,1700 )

SELECT SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',

SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',

SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale',

SQL_VARIANT_PROPERTY(colA,'MaxLength') AS 'MaxLength'

FROM tableA

下面是结果集:请注意,这三个值中的每一个都是 sql_variant

/*

Base Type Precision Scale MaxLength

decimal 8 2 5

varchar 0 0 8000

money 19 4 8

*/

DROP TABLE tableA

相关文章:

  • struts2常量的配置
  • HTML5判断设备在线离线及监听网络状态变化例子
  • ntc:iBatis的demo
  • Linux RAID简介
  • 正确理解SOA、SaaS和云计算的关系
  • linux查看各项参数
  • 关于关于--关于网络,关于还是关于
  • 【Demo 0002】Android 提醒框
  • 数据相似性检测算法
  • vc的UI编程PngTextButton控件的适用情况
  • Android中在屏幕上涂鸦的例子
  • 近期备考安排
  • CentOS 配置mysql允许远程登录
  • 并查集回顾
  • 用一个暑假的时间想明白一件事
  • __proto__ 和 prototype的关系
  • Angular Elements 及其运作原理
  • Angular2开发踩坑系列-生产环境编译
  • C++入门教程(10):for 语句
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • echarts花样作死的坑
  • Effective Java 笔记(一)
  • gulp 教程
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • jQuery(一)
  • Laravel 菜鸟晋级之路
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Magento 1.x 中文订单打印乱码
  • Markdown 语法简单说明
  • mockjs让前端开发独立于后端
  • mysql中InnoDB引擎中页的概念
  • Phpstorm怎样批量删除空行?
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • vue总结
  • 给github项目添加CI badge
  • 简单易用的leetcode开发测试工具(npm)
  • 来,膜拜下android roadmap,强大的执行力
  • 算法-图和图算法
  • 温故知新之javascript面向对象
  • 详解NodeJs流之一
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 走向全栈之MongoDB的使用
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #Linux(权限管理)
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (4)事件处理——(7)简单事件(Simple events)
  • (9)STL算法之逆转旋转
  • (LeetCode 49)Anagrams
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (六) ES6 新特性 —— 迭代器(iterator)