2011-09-30 55 views
-1

我有類型ab001,ab002,ab003的多個記錄,我希望它們像ab/001,ab/002,ab/003等。任何幫助將不勝感激!SQL在mySql中編輯記錄

+1

您是「value」的意思? – Mido

+0

對不起,我的意思是有價值 – rbc089

+0

你的意思是你有像「ab001」這樣的值,並且你想以這種格式「ab/001」存儲它? – Bajrang

回答

1

如果你只是想插入在三個位置上的斜線,那麼你可以使用INSERT。如果您的值始終以四位數字結尾,而您只想在其前面加上斜線,則:

update your_table 
set your_column = insert(your_column, length(your_column) - 3, 0, '/') 
+0

附近使用'),+'/'+ right(4))',問題是有些像ab0001,有些像r0001,問題是我如何把'/'放在4位數字的前面(數字是固定數字(4) – rbc089

+0

@ rbc089:它們總是以四位數字結尾嗎? –

1

如果你的前兩個字符是固定的,如「AB」,那麼你可以這樣做:

UPDATE TableName SET ColName = LEFT(ColName,2) + '/' + RIGHT(ColName,LEN(ColName)-2) 

,或者你可以嘗試:

UPDATE TableName SET ColName = REPLACE(ColName,'ab','ab/') 

如果你的號碼中的數字被固定爲4,則試試這個:

UPDATE TableName SET ColName = LEFT(ColName, LEN(ColName)-4) + '/' + RIGHT(ColName,4) 

更新:我都檢查過了3箱你的數據和工作正常。請看下圖:

SELECT LEFT('ab0001',2) + '/' + RIGHT('ab0001',LEN('ab0001')-2); 
SELECT REPLACE('ab0001','ab','ab/'); 
SELECT LEFT('ab0001', LEN('ab0001')-4) + '/' + RIGHT('ab0001',4); 
+0

問題是有些像ab0001,有些像r0001,問題是我怎麼把'/'放在4位數字的前面(數字是固定數字(4) – rbc089

+0

@ rbc089:但是在你的問題你提到了ab001,ab002,它有3位數字,請檢查我的答案,修正4位數字 –

+0

yes im sorry我沒有解釋我自己,你有什麼建議嗎 – rbc089

0

如果他們都開始"ab"

UPDATE yourtable SET yourcolumn = REPLACE(yourcolumn , right(4), '/'+ right(4)) 

Source

+0

問題是,有些人喜歡ab0001,有些人喜歡r0001,問題是我如何把'/'放在4位數字的前面(數字是固定數字(4) – rbc089

+0

更新了我的消音。出。 – Sergio

+0

#1064 - 您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本的手冊,在第1行 – rbc089

0
UPDATE yourTable 
set type = 'ab/'+right(type,len(type)-2) 
where type like 'ab%'