如何在Oracle SQL中使用LIKE运算符

时间:2019-08-08 00:48:10

标签: sql oracle

我正在使用Oracle,并且试图过滤字符串的部分文本。例如,当文本中出现“贷方通知单”时,我想得到的是诸如“手动生成贷方通知单”之类的值。

在SQL Server中,我知道它可以使用:

Select Column1
From Table1
Where Column1 LIKE '% Credit% Note%'

但是我在Oracle中没有得到以上内容,没有与“手动生成贷方通知单”返回任何匹配项。

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您使用的语法正确。

如果查询未返回数据,则数据可能有问题。我知道它看起来像纯文本,但有时会伴随着不可见的编码,特别是如果它是从诸如MS Word之类的笨拙的文字处理器复制粘贴而成的。

创建其他行并手动编写文本,以确保没有复制任何编码。另外,尝试将表中的值复制粘贴到记事本中,看看它会粘贴一些其他符号。另外,请检查是否是区分大小写的问题。

答案 1 :(得分:0)

SELECT Column1
From Table1
Where Column1 LIKE '%Credit Note%'

您不必添加%来表示空白。以这种方式like包裹起来时,'text to search'运算符可以使用字符串和空格。

答案 2 :(得分:0)

您可以使用此:

Select Column1 
From Table1 
Where Column1 LIKE '%Credit%'  
  or Column1 LIKE '%Note%'

如果您需要将这些单词匹配在一起,请尝试使用REGEXP_LIKE()