Sql 包含连字符的Oracle查询字符串
我在Oracle上运行的查询应该允许连字符。结果应与包含连字符的精确字符串匹配,如下所示:Sql 包含连字符的Oracle查询字符串,sql,oracle,special-characters,Sql,Oracle,Special Characters,我在Oracle上运行的查询应该允许连字符。结果应与包含连字符的精确字符串匹配,如下所示: SELECT <field> FROM <table> WHERE LOWER(field) LIKE '%-pa%'; 选择 从…起 其中较低的(字段),如“%-pa%”; 然而,结果显示“网页”、“网页”以及“网页”。然而,在这种情况下,我只想找到“网页”和“网页”。我试图用反斜杠转义连字符,但结果没有找到任何记录。有谁能给我一个提示,告诉我怎么做吗?通常连字符不
SELECT <field>
FROM <table>
WHERE LOWER(field) LIKE '%-pa%';
选择
从…起
其中较低的(字段),如“%-pa%”;
然而,结果显示“网页”、“网页”以及“网页”。然而,在这种情况下,我只想找到“网页”和“网页”。我试图用反斜杠转义连字符,但结果没有找到任何记录。有谁能给我一个提示,告诉我怎么做吗?通常连字符不需要转义,但你可以试试
select <field> from <table> where lower(field) like '%X-pa%' escape 'X';
从较低的位置(字段)选择,如“%X-pa%”转义“X”;
您可以使用任意字符代替“X”通常不需要转义连字符,但您可以尝试
select <field> from <table> where lower(field) like '%X-pa%' escape 'X';
从较低的位置(字段)选择,如“%X-pa%”转义“X”;
您可以使用任意字符来代替“X”,这不是我观察到的Oracle处理连字符的方式。以下是我看到的一个简单示例:
SQL> select * from fb;
ID
----------
Web-Page
Web Page
Web -Page
SQL> select * from fb where lower(id) like '%-pa%';
ID
----------
Web-Page
Web -Page
您确定没有使用下划线而不是连字符吗?下划线是一个单字符通配符。我没有观察到Oracle如何处理连字符。以下是我看到的一个简单示例:
SQL> select * from fb;
ID
----------
Web-Page
Web Page
Web -Page
SQL> select * from fb where lower(id) like '%-pa%';
ID
----------
Web-Page
Web -Page
您确定没有使用下划线而不是连字符吗?下划线是单字符通配符。什么版本或Oracle?什么版本或Oracle?不要介意。是我的错。我简化了我的示例查询,但也查询了另一列。没关系。是我的错。我简化了我的示例查询,但也在查询另一列。