首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类似于vs rLike

类似于vs rLike
EN

Stack Overflow用户
提问于 2021-11-30 18:05:35
回答 1查看 705关注 0票数 0

我试图理解rlike在postgres中类似的区别,以及每个操作符是否有特定的用例。

由于熟悉TSQL,我通常使用类似于操作符来执行以下操作

代码语言:javascript
复制
Select * From Table where ColA like '%[0-9]%[a-z]%'

但在postgres,同样的说法不会产生同样的结果。

我的问题是:

  1. ,如果有的话,在postgres中有什么运算符(,rlike,类似于,.)最接近于模仿的功能/可用性,如tsql?
  2. 中的运算符,在决定在后置?

中使用哪个运算符时,是否有一般的经验规则?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-30 18:10:59

LIKE不支持SQL中的正则表达式(而且Server的实现并不是真正的正则表达式)。

similar to运算符可能是最接近Server的,因为它支持来自“常规”类运算符的%通配符,但也允许使用正则表达式,

所以

代码语言:javascript
复制
where cola similar to '%[0-9]%[a-z]%'

应返回与Server相同的内容,但例外情况是它区分大小写,而Server在默认情况下不区分大小写。

如果您想要一个真正的正则表达式,则需要使用~运算符。

代码语言:javascript
复制
Select * 
From Table 
where ColA ~ '[0-9].*[a-z]'

在“真实”正则表达式中,%不是通配符,因此需要使用匹配零或多个字符的.*~会自动进行部分匹配,因此不需要从表达式中“转换”前面和后面的%

如果要使用不区分大小写的匹配,请使用~*

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70174092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档