在sql server中的十进制后填充零

时间:2014-01-29 23:17:51

标签: sql-server tsql substring padding

我有一张像

这样的表格
[A]-----------[B]
[0]-----------[0.012345]
[1]-----------[0.002345]
[0.2145]----[0.1457]

我需要在结尾处用0和B填充列,直到小数点后第9位 所以输出应该如下:

[A]--------------------[B]
[0.000000000]-----------[0.012345000]
[1.000000000]-----------[0.002345670]
[0.214500000]-----------[0.145700000]

NOte:总位数= 10不包括'。'decimal

1 个答案:

答案 0 :(得分:2)

测试数据

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 ║
╚═════════════╩═════════════╝