MySQL SQL正則技巧

2021-10-01 08:36:53 字數 1355 閱讀 2897

#判斷欄位中是否包含大寫字母如果有就返回

select  * from t1 where name2 regexp binary '[a-z]'

# ^開頭   $結尾

where name2 regexp '^c'

where name2 regexp 'c$'

#查詢字段值包含字母 a~t 以外的字元的記錄

where name2 regexp '[^a-t]'

#查詢字段包含 1 2 3的記錄

where name2 regexp '[123]'

where name2 regexp '[io]'

#包含in 或者on

where name2 regexp 'in|on'

#包含字母c 且後面出現字母h至少一次的記錄 * 匹配任意多次 包括0次  + 至少一次

where name2 regexp '^ch+'

where name2 regexp '^ch*'

#使用 .  代替字串中的任意乙個字元

where name2 regexp 'o.y'

選項說明

例子匹配值示例

^匹配文字的開始字元

'^b' 匹配以字母 b 開頭 的字串

book、big、banana、 bike

$匹配文字的結束字元

'st$』 匹配以 st 結尾的字 符串

test、resist、persist

.匹配任何單個字元

'b.t』 匹配任何 b 和 t 之間有乙個字元

bit、bat、but、bite

*匹配零個或多個在它前面的字 符

'f*n』 匹配字元 n 前面有 任意個字元 f

fn、fan、faan、abcn

+匹配前面的字元 1 次或多次

'ba+』 匹配以 b 開頭,後 面至少緊跟乙個 a

ba、bay、bare、battle

《字串》

匹配包含指定字元的文字

'fa』

fan、afa、faad

[字元集合]

匹配字元集合中的任何乙個字 符

'[xz]'匹配 x 或者 z

dizzy、zebra、x-ray、 extra

[^]匹配不在括號中的任何字元

'[^abc]』 匹配任何不包 含 a、b 或 c 的字串

desk、fox、f8ke

字串匹配前面的字串至少 n 次

b 匹配 2 個或更多 的 b

bbb、 bbbb、 bbbbbbb

字串匹配前面的字串至少 n 次, 至多 m 次

b 匹配最少 2 個, 最多 4 個 b

bbb、 bbbb

MySQL SQL之常用小技巧

一 返回插入新記錄的id insert into 表名 字段列表 output inserted.id values 字段值列表 二 條件式排序 select from 表名 order by case when 欄位名 某值 then 1 else 0 end asc desc 三 清空表 tru...

mysql sql 中實戰小技巧持續更新

一 在sql中計算兩個時間的相隔天數 語法 select datediff 結束時間,開始時間 結束時間 開始時間得到兩個時間的間隔天數 在專案中的體現 gettasklistbyscheduleid resulttype com.select task id as id,text,model.mo...

正則小技巧

前兩天在csdn看到這樣乙個問題 給定一段文字的編碼序列,如604f20007d59 你 好 如何得到其對應的文字 有人給出了如下正則解決方案 string input 4f600020597d string patern string output regex.unescape regex.rep...