![](/img/trans.png)
[英]MySql : How to update column of table by checking for multiple fields in where clause?
[英]How to update table column using WHERE clause?
我有一個表格postcode
。 它有一列postcode
,其中包含 4/5 位整數(即 66770、66670、3090、6660)。 我想運行一個查詢,該查詢在包含 4 位數值的所有字段前添加0
(即,將“6660”更改為“06660”)。 我試過這個查詢,但它說0 rows affected
並且沒有進行任何更改。
UPDATE postcode SET postcode = Concat('0', postcode) WHERE CHAR_LENGTH(postcode) = 4;
我做錯了什么嗎?
試試這個: UPDATE postcode SET postcode = REPLACE(postcode, N'____', 0);
在這里,我只是將 4 個字符的所有內容替換為 0(有 4 個下划線)
如果所有記錄都是 4 或 5,則不需要 where 子句和
UPDATE postcode SET postcode = RPAD(TRIM(postcode), 5, '0')
應該做的工作。 但是,如果您有 3 位數的記錄並且不想更新這些記錄,則需要添加過濾位置
UPDATE postcode
SET postcode = LPAD(TRIM(postcode), 5, '0')
WHERE CHAR_LENGTH(TRIM(postcode) = 4;
我正在使用TRIM()
以防postcode
字段最后有一些空白。
答案是:
UPDATE postcode set postcode = CONCAT('0', postcode) where LENGTH(postcode)=4;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.