在SQL Server中将数字从002541500(最后4位为小数位)转换为254.1500
答案 0 :(得分:2)
这是简单的数学运算
CONVERT(int,Yourcolumn) / 10000.00
如果必须有4个小数位,请使用CONVERT:
CONVERT(decimal(10,4), CONVERT(int,YourColumn) / 10000.00)
答案 1 :(得分:0)
declare @i varchar(50) = '00251500'
--Option 1:
select convert(decimal(9,4), CONVERT(int, @i) / 10000.00)
答案 2 :(得分:0)
通过将varchar乘以1,基本类型将转换为数字。通过将该结果乘以.0001,比例会从0变为4。
SELECT 1 * '902541501' * .0001
结果
90254.1501
SELECT
SQL_VARIANT_PROPERTY(1 * '902541501' * .0001, 'BaseType') BaseType,
SQL_VARIANT_PROPERTY(1 * '902541501' * .0001, 'Scale') Scale
结果
BaseType Scale
numeric 4
答案 3 :(得分:-1)
我找到了解决问题的方法
declare @imp_ori varchar(50) = '00251500'
select
cast(left(@imp_ori,4) + '.' + right(@imp_ori,4) as numeric(10,4)) as StringBuildCast
结果:25.1500