在一般情况下,SQL Server 会自动完成数据类型的转换,例如,可以直接将字符数据类型或表达式与DATATIME 数据类型或表达式比较当表达式中用了INTEGER、 SMALLINT或TINYINT 时,SQL Server 也可将INTEGER 数据类型或表达式转换为SMALLINT数据类型或表达式,这称为隐式转换。如果不能确定SQL Server 是否能完成隐式转换或者使用了不能隐式转换的其它数据类型,就需要使用数据类型转换函数做显式转换了。此类函数有两个:
·CAST()
CAST() 函数语法如下:
CAST (<expression> AS <data_ type>[ length ])
·CONVERT()
CONVERT() 函数语法如下:
CONVERT (<data_ type>[ length ], <expression> [, style])
提醒: 1、data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2、length用于指定数据的长度,缺省值为30。
3、把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号(+)或负号(-)的数值。
4、TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
5、IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
6、把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7、BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
8、试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
用CONVERT() 函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。
相关文章
- (求帮助)(读取访问权限冲突)模拟实现找子字符串函数my_strstr
- 《python语言程序设计》_第三章(数字函数、字符串和对象)
- 拆分函数没有正确拆分字符串[重复]
- C# 以十六机制字符串显示二进制的函数
- Linux C 字符串函数 strlen()、strcat()、strncat()、strcmp()、strncmp()、strcpy()、strncpy() 详解
- oracle 游标/函数/存储过程/触发器 及其他sql
- 【LeetCode字符串#05】基于个人理解的KMP算法图解,以及应用到strStr()函数实现
- java ResultSet,使用MAX sql函数
- Oracle PL/SQL开发基础(第二十二弹:类型转换函数)
- Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa)