【问题标题】:SQL issue with Like operator not working as expectedLike 运算符的 SQL 问题未按预期工作
【发布时间】:2021-11-01 02:33:59
【问题描述】:

我在使用带有 like 运算符的 teradata sql-assistant 时遇到 sql 问题,如下例所示:

表A

id|
23_0
111_10
201_540

所以我应该只选择以'_0'结尾的id

我尝试了以下查询,但它给了我所有三个 id

select * from A 
where id like '%_0'

但我只希望

id|
23_0

请问你有什么想法吗?

【问题讨论】:

    标签: sql teradata-sql-assistant


    【解决方案1】:

    问题是_ 是一个特殊字符。所以,一种方法是:

    where id like '$_0' escape '$'
    

    你也可以使用right():

    where right(id, 2) = '_0'
    

    【讨论】:

    • 感谢@Gordon Linoff 的回复,我测试了第一个解决方案,但它似乎不起作用我什么也没得到,第二个解决方案我无法使用它,因为我的真实数据中有很多 id 所以我不仅有这个例子,所以我不能使用正确的 (id,2)
    • 对于您的情况,仍然需要 % 通配符:where id like '%$_0' escape '$'
    猜你喜欢
    • 2021-08-07
    • 2015-05-11
    • 2019-06-20
    • 2021-04-13
    • 1970-01-01
    • 2020-12-29
    • 2021-04-30
    • 2019-12-10
    相关资源
    最近更新 更多