SQL怎么样把numeric类型的数据转换为varchar类型的数据
可以用cast来转换。
如:列名叫grade,表名为A select cast(grade as numeric(y,x)) from A 其中y代表数据长度,x代表小数位长度。
注意:grade中必须全为数字或小数点,如果存在中文或英文,则运行时会报错。
使用CAST函数进行数据类型转换时,在下列情况下能够被接受:
(1)两个表达式的数据类型完全相同。
(2)两个表达式可隐性转换。
(3)必须显式转换数据类型。
扩展资料
SQL中类型转换函数:
1、cast
cast(表达式 as 数据类型)
select 100.0 +cast('1000' as int) -- 1100.0 默认把字符串转换成浮整形。
2、convert
convert(数据类型,表达式)
select 100.0 + convert(int,'1000')-- 1100.0 默认把字符串转换成整形。
3、select * from student order by convert (int,bid) desc --bid列按照降序来排列,bid是varchar类型。
4、print convert(varchar(10),getdate(),120) --日期转换varchar(10)表示显示的字符长度,120表示style,可以在SSMS 帮助中查看详情。
5、cast不可以转换日期类型,convert可以通用。
CAST 和 CONVERT
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
语法:
--使用 CAST:
CAST ( expression AS data_type )
--使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
参数:expression
是任何有效的 Microsoft® SQL Server™ 表达式。有关更多信息,请参见表达式。
data_type
目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型
numeric转varchar
CONVERT(varchar(200),列名或者变量)
CAST(列名或者变量 AS varchar(200));
cast函数就行啊
select cast(字段 as numeric(10,2)) from 表名
(10,2)那个你参照你自己字段的具体内容修改吧,2是小数位,10是一共的长度
2:cast(字段 as varchar)
两种都可以