鍍金池/ 問答/數(shù)據庫/ mysql根據包含字符不同更新字符串

mysql根據包含字符不同更新字符串

假設一個字段,‘a’開頭就替換成‘1’,‘b’開頭就替換成‘2’,怎么寫更新語句好一點
嘗試過regexp,但是這樣就有很多條sql語句,就會很慢

UPDATE trade SET
transportal='1'
WHERE
transportal REGEXP '^(a)';

有沒有什么優(yōu)化的辦法啊

回答
編輯回答
忠妾

如果只是count統(tǒng)計,不需要做update操作。

我感覺你的需求用case when表達式的計算值,再做計數(shù)統(tǒng)計就可以了,如:

select trans_type, count(*)
from (
    select case when left(transportal,1) = 'a' then 1 when left(transportal,1) = 'b' then 2 else 0 end as trans_type
    from trade 
) t
group by trans_type
2017年5月10日 17:08
編輯回答
久礙你

這些應該由程序控制邏輯,SQL不應該做這種事情

2018年9月5日 06:16