在MySql中使用正则可以达到事半功倍的效果,在php,asp中都有正则表达式这一说那么mysql是怎么样的呢,下面我拿一个实例 查找筛选字段为中文的记录sql语句.
如,简单看示例,使用mysql筛选出某字段中文的记录,代码如下:
select * from table where not name regexp '^[1-9A-Za-z]';
实例,数据库例:
- entrynamecost
- -----------------------------------------------------------------
- 123魔法披风100
- 124角斗士勋章200
- 125Maxcuh300
- 126勇者徽章400
- 127Ulisanise500
- 128HP回复600
要求只把125和127列出来,代码如下:
SELECT column_name FROM `table_name` WHERE column_name regexp "[[:alpha:]]+";中的 "[[:alpha:]]+"
alpha代表英文字母,意思是只把全是英文字母的列挑出来:
SELECT * FROM `your_table_name` WHERE name regexp "[[:alpha:]]+";.
常用的正则字符串匹配,所匹配的字符串以后面的字符串开头,代码如下:
mysql> select "fonfo" REGEXP "^fo$"; -> 0(表示不匹配)
mysql> select "fofo" REGEXP "^fo"; -> 1(表示匹配)
$所匹配的字符串以前面的字符串结尾,代码如下:
相关广告