gpt4 book ai didi

sql - 如何在 LIKE 查询中使用破折号 (-) 字符

转载 作者:行者123 更新时间:2023-12-04 02:58:46 25 4
gpt4 key购买 nike

在我的数据库中,我必须过滤名称以 -N 结尾的记录,
但是当我制作 WHERE 时像以下查询一样的子句它不返回任何记录,因为 -是通配符。

我在 Oracle 数据库中使用此查询:

 select * from product where productname like '%-N' 

但数据库有以该产品名称结尾的记录

最佳答案

起初我以为 Oracle 允许指定一个范围 [a-z]LIKE运算符(operator),这需要处理 -以一种特殊的方式。所以,我的建议是逃避破折号:

select * from product where productname like '%\-N' ESCAPE '\'

https://docs.oracle.com/cd/B13789_01/server.101/b10759/conditions016.htm

另一方面,正如@Amadan 在评论中正确地说的那样,Oracle 的 LIKE运算符只能识别两个通配符: _% .

这意味着逃避 -不应该改变任何东西。

这意味着查询中的破折号很可能与表中的破折号不同。 Unicode 中有许多不同的破折号和连字符。这里是最常见的。连字符减号 (0x002D)、En-Dash (0x2013、Alt+0150)、Em-Dash (0x2014、Alt+0151)。
- – —

关于sql - 如何在 LIKE 查询中使用破折号 (-) 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51256835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com