【问题标题】:How do I add a space in front of my number if it is a single digit?如果我的号码是个位数,如何在我的号码前面添加一个空格?
【发布时间】:2012-11-29 17:46:24
【问题描述】:

正在处理目前如下所示的报告:

5 - Kirk Korver, UMKC
15 - Kendall Anthony, Richmond

Players With 30:
41 - Matt Staff, Texas State

我想让它看起来像下面这样:

  5 - Kirk Korver, UMKC
 15 - Kendall Anthony, Richmond

Players With 30:
41 - Matt Staff, Texas State

*notice how the dashes are in line

pl/sql 中是否有可以使用的内置函数?

【问题讨论】:

  • 您通常可以在一种语言中执行此操作,方法是用空格向左填充结果,然后使用 RIGHT() 样式的函数从生成的填充字符串中提取右边的两个字符。我不知道 pl/sql 或有办法测试以确保我发布的任何内容都是正确的。也许其他人会这样做?

标签: sql oracle plsql


【解决方案1】:

不要将其视为“如果我的号码是个位数,请在我的号码前面添加一个空格”。相反,您正在打印一个右对齐的空格填充两位数字。

您想像这样使用 Oracle TO_CHAR() 函数。

SELECT TO_CHAR( player_number, '99' ) AS formatted_player_number FROM....

这是page that discusses number format models

【讨论】:

    【解决方案2】:

    试试这个:

    LPAD(player_number, 2,' ')
    

    【讨论】:

    • 如果 player_number 是两位数怎么办?
    • @user1683987 LPAD(to_char(player_number), 2,' ')
    【解决方案3】:

    你能做到吗:

    RIGHT('00' + cast([Id] AS VARCHAR(2)), 2) AS PaddedId
    

    LPAD(Id, 2, '0')
    

    【讨论】:

      猜你喜欢
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多