我需要一些SQL幫助。我需要改變一些線路中的數據庫一樣SQL更改值如果小於X
僞代碼:
SELECT * FROM tablename WHERE value1->.length <=4 AND CHANGE value to 0value1
大部分的線路有5個字符的長度。我需要在長度爲4個字符的所有值前添加一個「0」。
任何人都可以幫忙!謝謝!!!
我需要一些SQL幫助。我需要改變一些線路中的數據庫一樣SQL更改值如果小於X
僞代碼:
SELECT * FROM tablename WHERE value1->.length <=4 AND CHANGE value to 0value1
大部分的線路有5個字符的長度。我需要在長度爲4個字符的所有值前添加一個「0」。
任何人都可以幫忙!謝謝!!!
試試這個
UPDATE tablename
SET value1 = concat(0,value1)
WHERE length(value1)=4
試試這個 update tablename set value= concat(0,value1) where CHAR_LENGTH(value1)<=4
@jeans與我的回答有什麼不同 – Sadikhasan
@Sadikhasan我使用CHAR_LENGTH,你的寫作速度更快! – Jens
這不行,對不起。沒有行編輯。 – Dublay
只是另一種方法/理念爲這個(未經測試,因爲在移動!):
UPDATE tablename
SET value1 = RIGHT(CONCAT('00000', value1), 5)
WHERE LENGTH(value1) < 5
這也將填補只有0/1/2/3的字符。
SQLFiddle
mmmm.sorry。在這種情況下沒有行編輯。 – Dublay
@Dublay我爲此添加了一個SQLFiddle,也許它會幫助你。否則,你將不得不在你的開放文章中添加一些信息,比如你的表結構如何,例如數據等等。 – seph
@seph數據類型value1是int,那麼如何連接前導零 – Sadikhasan
從「UPDATE」開始怎麼樣? – zerkms
請告訴我,您不要將數字存儲爲字符串,並且想要添加前導零。 –
不 - 這是一個int – Dublay