我有一个表,该表的列为nvarchar
。我想针对当前具有值的任何行(仅当其值小于1,000时)更新该列。
伪代码:
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,但是由于对SQL还是很陌生,所以我不确定如何将其合并到更新语句中。
答案 0 :(得分:2)
您可以使用LEN
:
UPDATE dbo.YourTable
SET Column = RIGHT('0000'+Column,4)
WHERE LEN(Column) < 4
;