2012-04-03 17 views
1

商品コードを格納するカラムがあるテーブルがあります。私はQTY-4589で列PRODUCT_CODE下のすべての値を更新するMySQLクエリでcharを追加してすべてのカラム値を更新する

| product_id | Product-name | product_code| 
    | 1  | soap   | QTI4589  | 
     2   abc   DRT45869 
     3   xyz   IND458 

、DRT-45869、IND-458 ...

手段は、入れたい " - " を、コードと番号の間。

replace()と試してみましたが、動作しません。これを行う方法を手伝ってください。

答えて

0

をあなたはINSERT(str,pos,len,newstr) MySQLの機能を試してみました?

UPDATE table_name SET product_code= INSERT (product_code,4,1,"-") WHERE 1 
2
あなたは、いくつかのMySQL関数 CONCAT()で行うことができます

LEFT()MID()LENGTH()

以下試してみてください。

UPDATE table SET product_code=CONCAT(LEFT(product_code,3),'-',MID(product_code,4,LENGTH(product_code))) 
1

コードは常に3文字ですか?可能であれば

UPDATE `table` SET `product_code` = CONCAT( 
    SUBSTRING(product_code, 0, 3), 
    '-', 
    SUBSTRING(product_code FROM 4) 
) 
関連する問題