SQL 正则解析手机号码提供商

SELECT
	t.phone_number,
	CASE
		WHEN TRIM( t.phone_number ) REGEXP '^13[5-9]|^134[0-8]|^15[012789]|^18[23478]|^178|^14[78]|^170[356]|^198|^1440' 
		AND length(TRIM( t.phone_number )) = 11 THEN '中国移动' 
		WHEN TRIM( t.phone_number ) REGEXP '^13[0-2]|^145|^15[56]|^175|^176|^1704|^1707|^1708|^1709|^171|^18[56]' 
		AND length(TRIM( t.phone_number )) = 11 THEN '中国联通' 
		WHEN TRIM( t.phone_number ) REGEXP '^133|^153|^1700|^1701|^1702|^177|^173|^18[019]' 
		AND length(TRIM( t.phone_number )) = 11 THEN'中国电信' ELSE '未知运营商' 
	END AS provider 
			FROM
				text_message_send_subtask t 
			WHERE
				operator IS NULL order by phone_number;

你可能感兴趣的:(数据库,sql,数据库)