代码之家  ›  专栏  ›  技术社区  ›  Dev 404

分析nvarchar列并添加前导0

  •  -1
  • Dev 404  · 技术社区  · 6 年前

    我有一张桌子有一列是 nvarchar 是的。我想为当前有值的任何行更新该列,前提是它们的值小于1000。

    伪代码:

    UPDATE TABLE_NAME
    IF (PARSE(TABLE_NAME.COLUMN) < 1000)
        SET TABLE_NAME.COLUMN = ADD-LEADING-ZEROS(TABLE_NAME.COLUMN)
    ELSE
        do nothing
    

    所以基本上,如果列包含 "123" 我想把它更新为 "0123" 是的。如果是 "12" 我想把它更新为 "0012" 等等。

    我知道如何 pad leading 0s 但我不知道如何将它合并到update语句中,因为我对sql还很陌生。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Lamak    6 年前

    你可以用 LEN 为此:

    UPDATE dbo.YourTable
    SET Column = RIGHT('0000'+Column,4)
    WHERE LEN(Column) < 4
    ;