首页 > 解决方案 > 如何将varchar的子字符串转换为小数点前的数字并将varchar的子字符串转换为小数点后的数字?

问题描述

我有一个varchar(10).

如何将其转换为 a numeric(10,4)(其中 varchar 的最后 4 个字符是小数点后的 4 个数字,varchar 的前 6 个字符是小数点前的 6 个数字)?

标签: sql-servertsql

解决方案


您可以使用STUFF函数插入小数分隔符并将结果字符串转换为十进制:

declare @s varchar(10) = '1234561234'
select cast(stuff(@s, 7, 0, '.') as decimal(10,4))

推荐阅读