【问题标题】:padding zeros after decimal in sql server在sql server中的小数点后填充零
【发布时间】:2014-01-29 23:17:50
【问题描述】:
我有一张这样的桌子
[A]-----------[B]
[0]-----------[0.012345]
[1]-----------[0.002345]
[0.2145]----[0.1457]
我需要在 A 列和 B 列最后用零填充到小数点后第 9 位
所以输出应该是这样的:
[A]--------------------[B]
[0.000000000]-----------[0.012345000]
[1.000000000]-----------[0.002345670]
[0.214500000]-----------[0.145700000]
注意:总位数 = 10 不包括 '.' 小数
【问题讨论】:
标签:
sql-server
tsql
substring
padding
【解决方案1】:
测试数据
DECLARE @TABLE TABLE([A] VARCHAR(20),[B] VARCHAR(20))
INSERT INTO @TABLE VALUES
('0','0.012345'),('1','0.002345'),('0.2145','0.1457')
您只需将这些值转换为DECIMAL(10,9) 以获取有关Decimal 数据类型的更多信息Read here
查询
SELECT CAST([A] AS DECIMAL(10,9)) AS A
,CAST([B] AS DECIMAL(10,9)) AS B
FROM @TABLE
结果集
╔═════════════╦═════════════╗
║ A ║ B ║
╠═════════════╬═════════════╣
║ 0.000000000 ║ 0.012345000 ║
║ 1.000000000 ║ 0.002345000 ║
║ 0.214500000 ║ 0.145700000 ║
╚═════════════╩═════════════╝