Mysql中Regexp常見用法
模糊匹配,包含特定字符串
# 查找content字段中包含“車友俱樂部”的記錄
select * from club_content where content regexp '車友俱樂部'
# 此時的regexp與like的以下用法是等同的
select * from club_content where content like '%車友俱樂部%'
模糊匹配,以特定字符串開頭
# 查找content字段中以“車友”開頭的記錄
select * from club_content where content regexp '^車友'
# 此時的regexp與like的以下用法是等同的
select * from club_content where content like '車友%'
模糊匹配,以特定字符串結(jié)尾
# 查找content字段中以“車友”結(jié)尾的記錄
select * from club_content where content regexp '車友$'
# 此時的regexp與like的以下用法是等同的
select * from club_content where content like '%車友'
模糊匹配,或關(guān)系
# 查找content字段中包含“心得”、“分享”或“技術(shù)貼”
select * from club_content where content REGEXP '心得|分享|技術(shù)貼'
模糊匹配,不包含單個字符
# 查找content字段中不包含“車”字、“友”字的記錄
select * from club_content where content REGEXP [^車友]
這個結(jié)果跑出來一看大吃一驚,竟然把所有記錄給跑出來,這是為什么呢?
因?yàn)橐坏┘恿诉@個方括號"[]",它就把里面的內(nèi)容拆成單個的字符再匹配,它會逐個字符去匹配判斷是不是等于“車”,或者是不是等于“友“,返回的結(jié)果是一組0、1的邏輯值。
如果想匹配不包含特定字符串,該怎么實(shí)現(xiàn)呢?
模糊匹配,不包含特定字符串
# 查找content字段不包含“車友”字符串的記錄
select * from club_content where content not REGEXP '車友'
MySql REGEXP運(yùn)算符匹配字符串
1 ^ 匹配以該字符后面的字符開頭的字符串
舉個例子: REGEXP ‘^x' 表示匹配以x開頭的字符
2 $匹配以該字符前面的字符結(jié)尾的字符串
舉個例子: REGEXP ‘y$' 表示匹配以y結(jié)尾的字符
3 .匹配任意一個字符
4 […]匹配在方括號中的任意一個字符。
如: [1-9] 匹配1到9的數(shù)字, [abc]匹配其中任意一個
5 *匹配零個或多個在它前面的字符
如: x* 匹配任何數(shù)量的x字符
mysql 如何判斷 "字符串" 是否為 "數(shù)字"
這個問題有點(diǎn)怪 ,但很多時候我們會以字符串的形式存儲數(shù)字 , 反過來我們用字符串進(jìn)行數(shù)學(xué)運(yùn)算時, 好像也不會出錯 . 除非 , 用作數(shù)學(xué)運(yùn)算的字符串不能轉(zhuǎn)換成數(shù)字 .
但是我們改如何判斷字符串是否能轉(zhuǎn)換成數(shù)字呢 ?
新聞熱點(diǎn)
疑難解答
圖片精選