【问题标题】: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 ║
╚═════════════╩═════════════╝

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多