SQL语句正则表达式

SQL语句可以搭配正则表达式作为查询条件,实现很多需求。

REGEXP_LIKE 匹配:REGEXP_LIKE(String, Regexp)
REGEXP_INSTR 包含
EGEXP_REPLACE 替换
REGEXP_SUBSTR 提取

正则表达式常用字符

字符

说明

^

匹配字符串的开始位置,若用在中括号中[ ] 时,表示不匹配括号中字符串

$

匹配字符串的末尾,若设置了表达式对象的Multiline属性,则也匹配’/n’或’/r’

.

匹配单个字符

*

匹配前面子表达式 0次或多次(至少有一次)

?

匹配前面子表达式 0 次或 1 次 (至多有一次)

+

匹配前面子表达式 1 次或更多次

{m}

匹配 m 次

{m,}

至少匹配 m 次

{m, n}

至少匹配 m 次但不超过 n 次

()

匹配括号中全部字符

[]

匹配括号中一个字符,范围描述,如[0-9] [a-z] [A-Z]

{}

用于限定匹配次数,如 {n}表示匹配n个字符,{n,}表示至少匹配n个字符,{n,m}表示至少n个最多m个

\

转义字符,如上基本符号匹配都需要转义字符 ,如 * 表示匹配*号

\w

表示英文字母和数字

\W

表示非字母和数字

\d

表示数字

\D

表示非数字

age regexp '^[1-9A-Za-z]'

^在[]的外边表示age 的开头在1-9,A-Z,a-z这个范围之内

age regexp '[^1-9A-Za-z]'

^ 非 在[]的里边表示age 的开头不在1-9,A-Z,a-z这个范围之内

SELECT * FROM b WHERE (  age  regexp '^[1-9A-Za-z]')  and age  = ' ';

你可能感兴趣的:(mysql,sql,mysql)