一篇文章打通PostgreSql(pgsql)的正则匹配: like, similar to, ~。 以及与 mysql 正则匹配的区别。
warning:
这篇文章距离上次修改已过421天,其中的内容可能已经有所变动。
PostgreSQL 支持三种正则表达式匹配操作符:LIKE,SIMILAR TO和~。LIKE和SIMILAR TO更接近于正则表达式的定义,而~是PostgreSQL的特有扩展,它允许你使用更为简洁的语法进行匹配。
LIKE操作符:
LIKE操作符允许你使用通配符(%和_)来匹配字符串模式。%代表任意长度的字符串,_代表任意单个字符。
SELECT * FROM table_name WHERE column_name LIKE 'pattern%';SIMILAR TO操作符:
SIMILAR TO操作符使用SQL标准的正则表达式语法。
SELECT * FROM table_name WHERE column_name SIMILAR TO 'pattern';~操作符:
~操作符是PostgreSQL的正则表达式操作符,它允许你使用正则表达式模式匹配文本。
SELECT * FROM table_name WHERE column_name ~ 'pattern';在MySQL中,LIKE,REGEXP和SIMILAR TO在功能上是相似的,但是语法可能略有不同。
例如,在MySQL中,你可以使用REGEXP来进行正则表达式匹配:
SELECT * FROM table_name WHERE column_name REGEXP 'pattern';请注意,在MySQL中,正则表达式区分大小写,除非你使用BINARY关键字来进行大小写不敏感的匹配。
SELECT * FROM table_name WHERE column_name REGEXP BINARY 'pattern';在MySQL和PostgreSQL中,你可以使用正则表达式的特殊字符,如.匹配任意单个字符,*匹配0个或多个先前的字符,+匹配1个或多个先前的字符,|表示逻辑“或”等。
评论已关闭