位置: 编程技术 - 正文

SQL Server数据类型转换方法(sqlserver数据类型转换函数)

编辑:rootadmin

推荐整理分享SQL Server数据类型转换方法(sqlserver数据类型转换函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server数据类型整理,sql server数据类型有哪几种,sqlserver数据类型转换函数,sql server数据类型有哪几种,sqlserver数据类型转换函数,sql server数据类型有哪些,sql server数据类型转换,sqlserver数据类型转换函数,内容如对您有帮助,希望把文章链接给更多的朋友!

在SQL Server日常的函数、存储过程和SQL语句中,经常会用到不同数据类型的转换。在SQL Server有两种数据转换类型:一种是显性数据转换;另一种是隐性数据转换。下面分别对这两种数据类型转换进行简要的说明:

1 显式转换

显示转换是将某种数据类型的表达式显式转换为另一种数据类型。常用的是CAST 和 CONVERT 函数。

CAST: CAST ( expression AS data_type ) CONVERT: CONVERT (data_type[(length)], expression [, style])

参数 expression 是任何有效的 Microsoft SQL Server表达式。data_type 目标系统所提供的数据类型,不能使用用户定义的数据类型。

2 隐性转换

隐性转换对于用户是不可见的,由SQL Server 引擎自动处理。 隐性转换自动将数据从一种数据类型转换成另一种数据类型。例如,如果一个 smallint 变量和一个 int 变量相比较,这个 smallint 变量在比较前即被隐性转换成 int 变量。 当从一个 SQL Server 对象的数据类型向另一个转换时,一些隐性和显式数据类型转换是不支持的。例如,nchar 数值根本就不能被转换成 image 数值。nchar 只能显式地转换成 binary,隐性地转换到 binary 是不支持的。nchar 可以显式地或者隐性地转换成 nvarchar。

3 隐性转换的风险

隐性转换有的时候非常方便,可以简化SQL 脚本,但是这里面也孕育着潜在的风险,可能会出现在脚本一开始运行的时候都是正常的,但却某一个时间点之后,程序莫名出现错误。下面举一个现实项目中的例子来说明。在SQL Server 中有一个表,需要从两个不同的数据表中拉取数据,由于这两个数据表属于不同的系统,其主键类型是不同的,一个是int类型,一个是GUID,一开始想着这两个都可以转换成字符类型进行存储。所以就在表中建立一个nvarchar()的混合ID列作为主键。如下图所示:

SQL Server数据类型转换方法(sqlserver数据类型转换函数)

一开始拉取的数据并未有GUID的值,都是INT类型转换过来的数据,所以SQL脚本运行的正常,但是突然某一次运行时,出现了“在将 nvarchar 值 '4C-F-FE-8A0A-DB4EB1FF2' 转换成数据类型 int 时失败。”的错误。如下图所示:

定位到脚本,执行的SQL如下:

select * from dbo.Demo where 混合ID=

其中主键中的数据有GUID转换的字符型,也有INT转换的字符串,示例数据如下:

但是如果执行下面的SQL,则都是正常执行:

结果如下:

出现上述错误的结果应该是这样的:

select * from dbo.Demo where 混合ID=在执行时,SQL Server会将nvarchar类型的隐性转换成int类型,如果数据中没有GUID类型的字符,则转换正常,如果有,当进行GUID字符到INT的隐性转换时,则转换失败。

标签: sqlserver数据类型转换函数

本文链接地址:https://www.jiuchutong.com/biancheng/312902.html 转载请保留说明!

上一篇:SQL语句性能优化(续)(sql性能优化方法)

下一篇:SQL(MSSQLSERVER)服务启动错误代码3414的解决方法

  • 所得税减免会计分录
  • 明股实债的风险与防范
  • 房产税的计税依据包含增值税吗
  • 出纳需不需要填工作单位
  • 公司刚成立没有收入但是有支出怎么记账
  • 买手机手续费怎么算
  • 个人接受现金捐赠的例子
  • 月中入职新公司社保谁交
  • 建房测绘收费
  • 行政人员出差预借差旅费需要预算会计吗
  • 我公司给对方公司付款
  • 房改房增值税
  • 库存产品亏本销售账务处理
  • 建筑行业如何结合个人例子写论文
  • 出口退税进项税额可以抵扣吗
  • 收到银行的贷款
  • 税控机减免税额怎么算
  • 案例分析一般纳税人的税负率怎么计算?
  • 简易征收税额航天信息服务费可以抵扣吗?
  • 三证合一怎么查询
  • 餐饮费发票税率是多少
  • 报税申报不了
  • 7月1号出台的政策
  • 赞助支出属于什么费用
  • 预交增值税扣税绑不了三方
  • 向境外企业支付技术咨询指导费
  • 个人出租房屋给公司可以开专票吗
  • 企业把活承包给个人,和企业有劳动关系吗?
  • 预借差旅费计入其他应收款吗
  • win7操作系统激活
  • 公司购买理财产品如何做账
  • 域名解析错误怎么解决mac
  • windows dvd maker是什么
  • 产品销售账务处理办法
  • ctrl起什么作用
  • 固定资产处置的三种情况
  • 二手房过户需要哪些手续和费用2023
  • 个人销售非住宅土地增值税
  • php使用教程
  • ubuntu16.04.4安装教程
  • php 断点续传
  • 微信小程序人民法院审核通过多久立案
  • Pytorch深度学习实战3-7:详解数据加载DataLoader与模型处理
  • selenium python 教程
  • 建立分公司流程
  • 不抵扣的发票需要认证吗
  • 收到电子银行承兑汇票计入什么科目
  • 企业购房怎么贷款
  • php显示当前时间
  • 案例详解:功能点估算法
  • 不抵扣勾选有什么风险
  • 建筑劳务公司一年赚多少钱
  • 已认证发票作废
  • 国外扣款手续费
  • 实物投资需要缴纳增值税吗
  • 长期待摊费用的最新账务处理
  • 非营利性代收代缴税款
  • 印花税多久申报一次2023
  • 成本核算方法有哪几种
  • 成本核算的内容有哪几个方面
  • 出租房屋的广告怎么写好
  • 会计记账科目表
  • 企业进行长期投资的意义
  • 总账设置包括哪些内容
  • sql数据库对象
  • win8开机错误
  • linux urb
  • 电脑用户名怎么改
  • ubuntu系统怎么用
  • ssh密钥根据什么生成
  • jquery 动态添加列表元素
  • 塔防类的网游
  • easyui的表单验证
  • shell的实现
  • python图片处理酷炫效果
  • xbox无法连接无线网络
  • 技术总结2000字
  • 广东省地方税务局班子成员
  • 征管法 追征期起如何界定
  • 税控ic卡就是税控盘吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设