【MySQL】Query メモだよ
どうやって書くか、すぐ忘れちゃう、、
特定の文字の数
cf.) ancestry カラム内の、「/」の数
「1/10」→「1」
「1/10/1000」→「2」
LENGTH(ancestry) - LENGTH(REPLACE(ancestry, '/', ''))
特定の文字列の数
cf.) school カラム内の、「コース」の数
(LENGTH(school) - LENGTH(REPLACE(school, 'コース', ''))) / LENGTH('コース')
「最初に出現した特定の文字」より前を切り出す
cf.) ancestry カラム内の、最初に出現した「/」より前
「1/10」→「1」
「1/10/1000」→「1」
SUBSTRING_INDEX(ancestry, '/', 1)
「最後に出現した特定の文字」より後を切り出す
cf.) ancestry カラム内の、最後に出現した「/」より後
「1/10」→「10」
「1/10/1000」→「1000」
SUBSTRING_INDEX(ancestry, '/', -1)
「最後に出現した特定の文字」より前を切り出す
cf.) ancestry カラム内の、最後に出現した「/」より前
「1/10」→「1」
「1/10/1000」→「1/10」
SUBSTRING_INDEX(ancestry, '/', LENGTH(ancestry) - LENGTH(REPLACE(ancestry, '/', '')))