在sqlserver数据库中,可以使用convert函数来进行数据类型的转换,如将数字类型decimal转换为字符串nvarchar类型,或者将字符串类型转换为数字类型都可以使用convert函数来实现。convert函数也可将日期类型datetime转换为字符串类型如nvarchar类型等。

convert函数的格式为:convert(data_type(length),data_to_be_converted,style);

其中data_type表示转换后的数据类型,后面可带参数length,如转换为50个长度的nvarchar类型可为nvarchar(50),转换为十进制类型decimal,并且要求最大长度为10,必须两位有效小数,可写成decimal(10,2)。

data_to_be_converted代表被用来转换的源数据字段信息。

style表示转换的样式。

下面举例几个常用的例子来说明:

(1)decimal类型转换为字符串类型。

数据表中有个字段rate为decimal(5,2)类型字段,代表百分比。但报表中的数据需要带百分号%,例如rate=52.32的时候,出现在报表中应该是52.32%。sql转换语句如下

select  convert(nvarchar(10),rate)+’%’  as ratestr  from table;

(2)针对时间类型datetime的转换。

将时间转换为yyyy-mm-dd hh:mi:ss(24h)字符串类型,可使用下列语句,其中getdate()表示当前系统时间

select convert(nvarchar(20),getdate(),20)

更多时间类型的转换以及格式参考:sqlserver日期时间格式化总结。

 

备注:原文转载自博主个人站it技术小趣屋,原文链接sqlserver使用convert函数进行数据类型转换_it技术小趣屋。