close
在 MySQL 裡面,想要將兩個以上的字串合再一起,應該怎麼做呢?
可使用以下方法:
 
/* 該語法會將 字串1 ~ 字串N 全部串再一起 */
CONCAT( 字串1, 字串2, 字串3, ... , 字串N );
 
 
 
例如說,我有一個資料庫,表名稱為 "user",資料如下:
 
`id`      `name`
1         Bill
2         Bob
3         Carl
4         David
5         Tom
 
 
 
執行以下語法後的結果為:
 
/* 在所有資料的 name 欄位中, 使用 CONCAT 加入 _vip 的字串 */
UPDATE `user` SET `name` = CONCAT(`name`, '_vip');

/* 以下為執行後結果, 所有資料欄位 `name` 的值後面, 加上了 _vip */
`id`      `name`
1         Bill_vip
2         Bob_vip
3         Carl_vip
4         David_vip
5         Tom_vip
 
 
 
如果直接執行 + 的話,是錯誤的,例如:
 
/* 在所有資料的 name 欄位中, 使用 + 加入 _test 的字串 */
/* 不過該作法是錯誤的!!! */
UPDATE `user` SET `name` = (`name` + '_test');

/* 以下為執行後結果, 所有資料欄位 `name` 的值都變成了 0 */
`id`      `name`
1         0
2         0
3         0
4         0
5         0
 
 
 
/* 將所有資料的 name 欄位中的值, 使用 CONCAT 改為 test123 的字串 */
UPDATE `user` SET `name` = CONCAT('test', '123');

/* 以下為執行後結果, 所有資料欄位 `name` 的值都變成了 test123 */
`id`      `name`
1         test123
2         test123
3         test123
4         test123
5         test123
 
 
所以說,不管你要新增或者修改字串,若想把兩個或多個字串串聯再一起的話,就必須使用 CONCAT
而直接使用 + 可是錯誤的!
 
arrow
arrow
    文章標籤
    SQL CONCAT
    全站熱搜

    岳 發表在 痞客邦 留言(0) 人氣()