SQL怎么样把numeric类型的数据转换为varchar类型的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL怎么样把numeric类型的数据转换为varchar类型的数据相关的知识,希望对你有一定的参考价值。

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));

   

参考技术A 用 CAST 和 CONVERT 来转换。
如果遇到 将 numeric 转换为数据类型 varchar 时出现算术溢出错误。
那是长度问题导致的,numeric的长度超过varchar的指定长度,从而导致 算术溢出错误。
解决方法有:
1、将varchar指定更长的长度。
CONVERT(VARCHAR(200),3.14159)
2、先指定更短的NUMERIC长度,再转换为VARCHAR。
CONVERT(VARCHAR(7),CONVERT(NUMERIC(6,5),3.14159))

将float转换为数据类型numeric时出现算术溢出错误

今天修改数据库字段类型,把float转换成decimal类型。

找了好多资料都没从根本上解决问题。多亏了下面的这个blog

http://blog.csdn.net/wangchao1982/article/details/1882571

 

 

主要原因:decimal(12,4)的意思:小数点前最多有8位,小数点后有4位,不足4位补0,超过4位小数则四舍五入。

解决方法:先把float的字段类型换成decimal(18,4);其中4按自己的需求确定小数位数。然后再一步一步的缩小18的值

以上是关于SQL怎么样把numeric类型的数据转换为varchar类型的数据的主要内容,如果未能解决你的问题,请参考以下文章

SQL怎么样把numeric类型的数据转换为varchar类型的数据

SQL怎么把小数转换为百分比?

为啥 SQL Server 在将 int 转换为数据类型 numeric 时抛出算术溢出错误?

如何更正将 nvarchar 转换为 sql 数据类型 numeric(9, 4) 的数字的算术溢出错误? [关闭]

速达 将numeric转换为数据类型numeric时发生算术溢出错误

php,怎么将把数字传换成字符串?