使用SQL Server将数字从002541500(最后4位数字是小数位)转换为254.1500

时间:2018-06-26 12:36:25

标签: sql-server

在SQL Server中将数字从002541500(最后4位为小数位)转换为254.1500

4 个答案:

答案 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

SQL_VARIANT_PROPERTY

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