sql中的cast()函数

今天写完存储过程发现,界面上面从数据库读取的数据是一串字符串,如图:

sql中的cast()函数

原来是数据的类型转换的问题,知道cast()函数是用来解决这个问题的。

CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。 语法:CAST (expression AS data_type) 参数说明: expression:任何有效的SQL Server表达式。 AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。 data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。

注意:使用CAST函数进行数据类型转换时,在下列情况下能够被接受: (1)两个表达式的数据类型完全相同。 (2)两个表达式可隐性转换。 (3)必须显式转换数据类型。 如果试图进行不可能的转换(例如,将含有字母的 char 表达式转换为 int 类型),SQL Server 将显示一条错误信息。 如果转换时没有指定数据类型的长度,则SQL Server自动提供长度为30。

sql中的cast()函数

bz在数据库里面设置的是varchar类型,使用cast()函数如下:

sql中的cast()函数

注意cast()函数的格式,不要漏掉了as哦,我的理解是将我原来的数据库字段的字符串的长度范围扩大了,界面显示正常,如下:

sql中的cast()函数

至于cast()函数的用法很多,只列举自己项目遇到的情况,其实并不能理解其中的真正原理是什么,以后再补充!