次のような区切りのない文字列にプレフィックスを含む文字列 (ドイツの電話番号) がありますphone = 030123456
。
プレフィックスには一意の長さがないため、すべてのプレフィックス番号を含む別のテーブルに対してチェックする必要があります。
文字列をプレフィックスと番号に分けるにはどうすればよいですか?
prefix = 030, number = 123456
次のようなクエリを使用できます。
SELECT
prefixes.prefix,
SUBSTRING(phones.phone, LENGTH(prefixes.prefix)+1) number
FROM
phones INNER JOIN prefixes
ON phones.phone LIKE CONCAT(prefixes.prefix, '%')
ここでフィドルを参照してください。