2014年3月25日火曜日

mysqlの正規表現REGEXPと文字列抽出SUBSTRING,LOCATEで括弧の中の内容を抽出する

mysqlの正規表現と文字列抽出で括弧の中の内容を抽出する

共同住宅(45戸)

45戸

一般の正規表現では数字を表すのは'\d'で、非数字は'\D'で行けるはずだが、
mysqlでは'[0-9]'が数字みたい。本当?
また括弧'('を表示するのに、'\('ではなく、'[.(.]'と'[.).]'です。
http://dev.mysql.com/doc/refman/5.1-olh/ja/regexp.html
クエリーはこんな感じ

SELECT stringWithBracket,
TRIM(SUBSTRING(stringWithBracket, LOCATE('(',stringWithBracket)+1, LOCATE(')',stringWithBracket)- LOCATE('(',stringWithBracket)-1)) AS house
FROM myTable
WHERE t_gyoumu.shuyou_youto REGEXP '[.(.][0-9]+戸[.).]';

0 件のコメント:

コメントを投稿