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
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 Server 在将 int 转换为数据类型 numeric 时抛出算术溢出错误?
如何更正将 nvarchar 转换为 sql 数据类型 numeric(9, 4) 的数字的算术溢出错误? [关闭]