希望有人能帮忙。我正在尝试在 GPF4 列中少于 10 位数字的任何结果前面填充零。 GPF4 列被设计为数字(18,0),稍后我将把这个数字转换为具有反转对的十六进制。 结果没有任何变化
这是尝试在前面填充零的代码
UPDATE Filter_All
SET GPF4 = RIGHT(CONVERT(varchar(10), REPLICATE('0', 10 - LEN(GPF4)) + CONVERT(varchar(10), GPF4)) + CONVERT(varchar(10), GPF4), 10)
WHERE LEN(GPF4) < 10
GPF4中的实际号码821295578
预期结果0821295578
结果为 821295578(无变化)
我又累了,这次成功了,但是结果是用 GPF4 中受影响行的最后一位数字填充的
UPDATE Filter_All
SET GPF4 = RIGHT(CONVERT(varchar(10), REPLICATE('0', 10 - LEN(GPF4)) + CONVERT(varchar(10), GPF4)) + CONVERT(varchar(10), GPF4), 10)
WHERE LEN(GPF4) < 10
这是尝试在前面填充零的代码
UPDATE Filter_All
SET GPF4 = RIGHT(CONVERT(varchar(10), REPLICATE('0', 10 - LEN(GPF4)) + CONVERT(varchar(10), GPF4)) + CONVERT(varchar(10), GPF4), 10)
WHERE LEN(GPF4) < 10
我又累了,这次成功了,但是结果是用 GPF4 中受影响行的最后一位数字填充的
UPDATE Filter_All
SET GPF4 = RIGHT(CONVERT(varchar(10), REPLICATE('0', 10 - LEN(GPF4)) + CONVERT(varchar(10), GPF4)) + CONVERT(varchar(10), GPF4), 10)
WHERE LEN(GPF4) < 10
尝试按如下方式使用串联:
SELECT GPF4
,CONCAT(REPLICATE('0',10 - LEN(GPF4)),GPF4)
FROM table_name
--WHERE LEN(GPF4)<10
上面的示例提供了带有 GPF4 和填充 GPF4 的输出
您可以在更新语句中尝试相同的逻辑。
希望这有效。如果有效请采纳答案。