sql数据类型转换有什么方法?
发布时间:2022-04-26 08:58:07 所属栏目:系统 来源:互联网
导读:这篇文章给大家分享的是有关sql中数据类型转换的内容,在SQL Server有显性数据转换和隐性数据转换这两种数据类型转化方法,感兴趣的朋友就跟随小编一起来看看这两种sql数据类型转换吧。 1 显式转换 显示转换是将某种数据类型的表达式显式转换为另一种数据类
这篇文章给大家分享的是有关sql中数据类型转换的内容,在SQL Server有显性数据转换和隐性数据转换这两种数据类型转化方法,感兴趣的朋友就跟随小编一起来看看这两种sql数据类型转换吧。 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 脚本,但是这里面也孕育着潜在的风险,可能会出现在脚本一开始运行的时候都是正常的,但却某一个时间点之后,程序莫名出现错误。下面举一个现实项目中的例子来说明。 一开始拉取的数据并未有GUID的值,都是INT类型转换过来的数据,所以SQL脚本运行的正常,但是突然某一次运行时,出现了“在将 nvarchar 值 '4C185367-F004-41FE-8A0A-DB4E819B1FF2' 转换成数据类型 int 时失败。”的错误。 (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |