在SqlServer要对不同类型的数据进行运算时,需要将其转换为相同类型之后再做操作,而SqlServer中有两个函数可以进行数据转换,即:Cast和Convert
1、Cast
CAST(expression AS data_type[(length)]),其中expression为任何有效的表达式;data_type为要转换的数据类型;length为数据类型的长度,是可选参数,因为有些数据类型是没有长度的。举例:CAST(Nid AS varchar(50))或CAST(Name AS int)
2、Convert
CONVERT(data_type [(length)],expression [,style]),其中data_type为要转换的数据类型;length为数据类型的长度(可选);expression为任何有效的表达式;style是样式;此函数一般用于将datetime和smalldatetime数据转换为字符数据(nchar,nvarchar,char,varchar,nchar或nvarchar数据类型)的日期格式的样式,或者用于将float,real,money或smallmoney数据转换为字符数据(nchar,nvarchar,char,varchar,)的字符串格式的样式,如果style为null,则返回的结果也为null。对于样式来说,有一个样式表,其中的样式代号1,2,3,4或101,102,103代表着一种特定的格式。
举例:CONVERT(varchar(20),PublishDate,1),其中varchar的长度也可以控制时间格式的长度。
CONVERT(char(20),operationTime,120)