一篇文章打通PostgreSql(pgsql)的正则匹配: like, similar to, ~。 以及与 mysql 正则匹配的区别。
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个或多个先前的字符,|
表示逻辑“或”等。
评论已关闭