在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技术小趣屋。
博主个人技术交流群:960640092,博主微信公众号如下: