gpt4 book ai didi

SQL 函数 Instr()

转载 作者:行者123 更新时间:2023-12-04 23:18:41 24 4
gpt4 key购买 nike

我有一个名为 DP 的列,如图所示:

 07-APR-2011
12-APR-2011
26-APR-2011

现在要检索用于选择 4 月份付款的查询,我遇到了一个查询

select * from payments where instr(dp,'APR')<>0

好的,我非常熟悉 INSTR 函数和 > 符号,但无法用 <> sign 解释逻辑在这里!

[更新]

我也知道 <>相当于!= .但我的观点是我们可以使用
instr(dp,'APR')而不是做instr(dp,'APR')<>0

最佳答案

<>意思是“不等于”。你也可以写!= ,如果你愿意的话。

instr(dp,'APR')如果 'APR' 返回零不是 dp 的子字符串, 所以 instr(dp,'APR')<>0表示“'APR'dp 的子字符串”。也可以写成 dp LIKE '%APR%' .

更新问题:

But my point is we could have used instr(dp,'APR') instead of doing instr(dp,'APR')<>0

不,你不可能。 SQL 的某些方言将零视为“假”,将其他整数视为“真”,但 Oracle 不这样做。它将整数和 bool 值视为单独的类型,并且不会在它们之间进行隐式转换。 WHERE 0不是有效的 WHERE 子句。

关于SQL 函数 Instr(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898050/

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