SQL中的正则表达式?

Posted

技术标签:

【中文标题】SQL中的正则表达式?【英文标题】:Regular expressions in SQL? 【发布时间】:2014-12-17 14:39:41 【问题描述】:

我想在 Oracle 11g SQL 中使用正则表达式来查找与其不匹配的记录。正则表达式为:

/([A-Z]3)+([0-9])\w+/g

我想使用的 SQL 是这样的:

select
  stu_code
  ,stu_insc
from
  intuit.ins_stu
where
  stu_insc not like ('/([A-Z]3)+([0-9])\w+/g')

显然我知道上面是不对的,所以有人知道我是怎么做的吗?我无权运行任何 PL/SQL。

【问题讨论】:

你要匹配的目标字符串是什么 @vks 我正在尝试查找 stu_insc 与上述正则表达式不匹配的记录 见REGEXP_LIKE 你试过谷歌吗? first hit 【参考方案1】:

在 oracle 上,您可以尝试类似的方法

select xyz
from theTable
where not regexp_like(mycolumn,pattern)

【讨论】:

以上是关于SQL中的正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL 中的正则表达式

SQL语句中的正则表达式

SQL中的正则表达式提取函数实现?

使用正则表达式从 C# 中的 SQL 语句中查找 SQL 函数

SQL中的正则表达式来检测一个或多个数字

使用 SQL 的 Amazon Redshift 中的正则表达式