我有一個名爲address
的表,它作爲列zipcode
(varchar(10)
),其中包含數據如722090000
。郵政編碼的前導零
表中有〜10000條記錄。我想更新列以添加零,僅用於看起來像這樣的記錄 - 0722090000
- 且它們的長度大於5.
我該怎麼做?
我有一個名爲address
的表,它作爲列zipcode
(varchar(10)
),其中包含數據如722090000
。郵政編碼的前導零
表中有〜10000條記錄。我想更新列以添加零,僅用於看起來像這樣的記錄 - 0722090000
- 且它們的長度大於5.
我該怎麼做?
如果您使用Microsoft SQL Server,然後使用LEN()
UPDATE address
SET zipcode = '0' + zipcode
WHERE LEN(zipcode) > 5
某些郵政編碼需要兩位前導零。 –
如果你正在使用MySQL,你需要的LENGTH()方法。它會返回傳遞的字符串的長度。例如:SELECT LENGTH('text');
將返回4
。
你需要下面的查詢:
UPDATE address SET zipcode = '0' + zipcode WHERE length(zipcode) > 5
約翰將Hartsock在他的回答中提到,如果您使用的是MS SQL,則可以使用LEN()方法
謝謝您的回覆... – user922161
@ user922161如果發佈的答案對您有幫助,請將其標記爲已接受。 – reggie
你想整個10個字符總是被填充?所以如果郵政編碼是'123456'就變成'000'?如果是這樣的話,那麼你可以使用這個,如果你的數據庫支持它:
UPDATE address
SET zipcode = RIGHT('0000000000' + zipcode, 10)
WHERE LEN(zipcode) > 5
否則其他答案是好的。
以下允許您設置整數個零。我通常使用5或10,並將填入現有數字周圍的空餘零。
UPDATE
[address ]
SET
[zipcode] = RIGHT('00000' + LTRIM(RTRIM([zipcode])), 5)
你正在使用哪個數據庫服務器,MS SQL Server,MySQL等...? –