当数据库列存储较长的句子并且匹配条件是其中的单词时,我试图理解SQL通配符的用法。假设TABLEA
中有一行ColumnA
存储The quick brown fox jumps over the lazy dog
(数据类型为VARCHAR2
且db为ora12c
)。
我想返回ColumnA
中的句子包含brown
关键字的行。以下查询没有返回任何内容
SELECT * FROM TABLEA WHERE ColumnA LIKE '%brown'
SELECT * FROM TABLEA WHERE ColumnA LIKE '_brown'
我的主要参考是https://www.w3schools.com/sql/sql_wildcards.asp,但我似乎无法找到最终计算通配符用法的方法。如果有人能解释我正在解决的问题的正确用法,我很高兴。 谢谢!
答案 0 :(得分:2)
SELECT * FROM TABLEA WHERE ColumnA LIKE '%brown%'
答案 1 :(得分:2)
基本上你要查询的是:
给我TableA中的所有内容,其中ColumnA以棕色
结尾您还需要在条件结尾处添加%以将其转换为:
给我TableA中的所有内容,其中ColumnA包含棕色
SELECT * FROM TableA WHERE ColumnA LIKE '%brown%'