位置: 编程技术 - 正文

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的解决方法

  • 山东省增值税发票勾选认证平台
  • 企业税负怎么算
  • 可供出售金融资产和交易性金融资产
  • 工人工伤误工费赔偿多少一天
  • 红字发票需要认证吗之前的发票还有用吗
  • 金税盘处于报税期是什么意思
  • 工业企业生产费用要素
  • 营改增一般纳税人标准
  • 企业运费发票需要缴纳印花税吗附政策依据
  • 银行承兑汇票到期日后多久可以承兑
  • 公司交的拍卖费计入哪个会计科目?
  • 开办费用属于什么科目
  • 支付货款订金入什么科目核算与会计分录
  • 五证一户什么意思
  • 健身行业的税务政策
  • 企业所得税税前不得扣除的项目
  • 最新最全的消费软件
  • 银行利息所得税调整方案
  • 外贸企业支付境外佣金
  • 企业所得税汇算清缴退税怎么做账务处理
  • 出口退税款计入收入总额吗
  • 农机公司也要缴残保金吗
  • 申报个税和缴纳个税一样吗
  • 开房租发票交的税,因优惠政策退税,怎么账务处理
  • 如何更改应用商店
  • win没有投影到此电脑怎么办
  • 金融企业贷款逾期怎么办
  • 退回多缴的所得税怎么算
  • 试用期人员工资财务记账
  • 甲公司购入一台入账价值为200万元的生产设备
  • failed to execute goal org.apache
  • php 图片上传
  • php gettext
  • php_imagick
  • transformer中的参数
  • 商品流通的企业
  • 货物名称和发票上的不一致
  • 固定资产清理的金额怎么算
  • 资产减值损失属于营业外支出吗
  • 预收账款的销售分录
  • 更改sql server数据库名
  • 帝国cms吧
  • 土地出让金抵扣进项税
  • 现金流量表四个部分
  • 国内旅客运输服务
  • 自然人独资公司可以变更法人吗
  • 进项税额不得从销项税额中抵扣是什么意思
  • 中级会计职称与中级会计师的区别
  • 专项资金的账务处理 借:银行存款 贷:其他应付款
  • 物业公司预收的物业费怎么做账
  • 流动资金周转次数计算公式
  • 小规模纳税人减按1%账务处理
  • 营业税包含
  • 税控盘没有反写会罚款吗
  • 劳务派遣可以享受产假吗
  • windows update更新卡住不动了
  • windows找不到文件请确定文件名是否正确
  • linux怎么调整屏幕大小
  • linux nohup命令详解
  • linux ps-l
  • win7开机提示由于启动计算机时出现页面文件
  • win8开始菜单没有了
  • Android OpenGL ES(二)----平滑着色
  • javascript create
  • color 对于当前会话,更改命令提示窗口的前景和背景色
  • 获取input输入值
  • 使用js如何创建元素
  • jquery的选择器作用是选中某些元素
  • node的express
  • shell脚本语句
  • 猫的喵喵
  • linux两个版本
  • js怎么设置图片大小
  • 动感相册模板
  • 企业员工可以放弃购买社保吗
  • 劳务派遣服务计税
  • 三证合一开票信息
  • 郑州国税发票查询系统
  • 企业代扣代缴个税
  • 天津市河东区税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设