我正在使用Oracle,并且试图过滤字符串的部分文本。例如,当文本中出现“贷方通知单”时,我想得到的是诸如“手动生成贷方通知单”之类的值。
在SQL Server中,我知道它可以使用:
Select Column1
From Table1
Where Column1 LIKE '% Credit% Note%'
但是我在Oracle中没有得到以上内容,没有与“手动生成贷方通知单”返回任何匹配项。
有什么建议吗?
答案 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()