[英]Why is dot metacharactor of regex not working in mysql?
我在餐桌pet
有兩條唱片,分別是bowser
和Tommy
。 現在,當我在cmd中運行以下查詢時,什么都沒有發生:
SELECT * FROM pet WHERE name LIKE '.%';
另一方面,以下查詢與Bowser
記錄匹配:
SELECT * FROM pet WHERE name LIKE 'b%';
據我所知.
應該匹配任何字符。 因此,“。%”應匹配每個單詞。
為什么正則表達式的點元字符在mysql中不起作用?
您的查詢無效的原因是它正在查找以句點開頭的名稱。 這就是LIKE
運作方式。
使用RLIKE
或REGEXP
:
WHERE name REGEXP '.*';
LIKE
為運營商使用ANSI標准。 相當於.
是_
。 但是, LIKE
工作方式與正則表達式不同。
該文檔很好地解釋了LIKE
和REGEXP
之間的區別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.