gpt4 book ai didi

sql - PostgreSQL - 忽略 LIKE 表达式中的字符序列

转载 作者:行者123 更新时间:2023-11-29 13:02:35 27 4
gpt4 key购买 nike

我想知道是否有一种方法可以忽略 PostgreSQL 表达式 LIKE 中的一系列字符。
在我的表中,我有一些值,它们以不同数量的零开头。我希望能够找到正确的值,而无需将这些零放入我的 LIKE 表达式中。有一个例子:

id value
1 00045
2 00145
3 00003

现在,当我开始寻找值 00045 时,我只想键入“45”并且只返回与 id=1 相关的值。 LIKE '%45' 显然是不可能的,因为我不想选择值 00145。

有没有简单的方法可以做到这一点?

最佳答案

您可以使用 ltrim() 函数。需要省略前导字符的第二个参数:

select *
from example e
where ltrim(e.value, '0') = '45';

或者,如果值的长度始终为 5 个字符,您可以使用:

select *
from example e
where e.value = lpad('45', 5, '0');

第一种方法的优点是它不假定值是整数。第二种的优点是它允许 Postgres 在 example(value) 上使用索引(如果有的话)。

关于sql - PostgreSQL - 忽略 LIKE 表达式中的字符序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25016194/

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