ショコラ
MySQL で文字列を連結するには?
CONCAT関数で文字列を連結してキメマス。
もっさん先輩
CONCAT({文字列},{文字列});
改行を連結する場合は「CHAR(10)」と書きます。
例
「<!– wp:heading–>(改行)<h2>…」 のものを検索します。
SELECT count(*) FROM wp_posts WHERE post_content LIKE
CONCAT('%<!-- wp:heading -->',CHAR(10),'<h2>%</h2>',CHAR(10),'<!-- /wp:heading -->%');
手順
「<!– wp:heading–>改行<h2>(例)…」を「<!– wp:block {“ref”:551} /–>」に置換した手順。
- トランザクションを開始します。
begin;
- アップデートします。
UPDATE wp_posts SET post_content=replace(post_content,
CONCAT('<!-- wp:heading -->',CHAR(10),'<h2>(例)</h2>',CHAR(10),'<!-- /wp:heading -->'),
'<!-- wp:block {"ref":551} /-->')
WHERE post_content LIKE '%<h2>(例)</h2>%' AND id<>'551';
- コミットします。
commit;
シチュエーション
MySQL で、|| で連結した文字列を like 検索したがヒットしなかった。
MySQL はなんか感覚が違うんだよなぁ、PostgreSQL なら || でいける気がするけど・・・。