我需要用前導零填充字串欄位中的任何單個數字。我只需要用前導零填充單個數字字符,而不是字串字母字符 (AZ)。以下是當前資料的示例,以及這些示例的預期輸出。
Current output Expected output:
9 09
19 19
15 15
F F
UR UR
B B
0 00
4 04
N N
00 00
uj5u.com熱心網友回復:
使用CASE運算式檢查該列是否僅包含 0 到 9。如果為真,則以 0 為前綴,否則按原樣添加。
詢問
select
case when col like '[0-9]'
then '0' col
else col end as newcol
from tablename;
uj5u.com熱心網友回復:
如果您需要做一次,案例當然沒問題。但是,如果您不想更新資料本身而僅用于讀取或匯出,請使用IIF。這里有一個小例子:
declare @test table (
num nvarchar(10)
)
insert into @test
values ('9'),
('19'),
('15'),
('F'),
('UR'),
('B'),
('0'),
('00')
update @test
set num = IIF(num like ('[0-9]'),'0' num,num)
select *
from @testenter code here
uj5u.com熱心網友回復:
你可以使用TRY_CONVERT到NULL了非整數值,然后使用級聯和RIGHT添加前導零:
SELECT ISNULL(RIGHT('00' CONVERT(varchar(2),TRY_CONVERT(int,YourColumn)),2),YourColumn)
FROM dbo.YourTable;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/382456.html
