首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL函数Instr()

SQL函数Instr()
EN

Stack Overflow用户
提问于 2012-01-18 00:20:42
回答 2查看 5.3K关注 0票数 3

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

代码语言:javascript
复制
 07-APR-2011
 12-APR-2011
 26-APR-2011

现在,为了检索选择在4月份进行的付款的查询,我遇到了一个查询

代码语言:javascript
复制
select * from payments where instr(dp,'APR')<>0

好吧,我很熟悉INSTR函数和>号,但是我不能在这里用<> sign解释逻辑!

更新

我也意识到<>等同于!=。但我想说的是我们可以用

instr(dp,'APR')代替instr(dp,'APR')<>0

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-18 00:21:52

<>表示“不等于”。如果您愿意,也可以编写!=

如果'APR'不是dp的子字符串,则instr(dp,'APR')返回0,因此instr(dp,'APR')<>0表示"'APR'dp的子字符串“。它也可以写成dp LIKE '%APR%'

更新问题的更新:

,但我的观点是,我们可以使用instr(dp,'APR')而不是instr(dp,'APR')<>0

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

票数 7
EN

Stack Overflow用户

发布于 2012-01-18 00:26:11

<>,不等于--基本上是检查字符串中是否出现了'APR'的子字符串。

如果该函数返回0,则它将指示'APR'不会出现在要搜索字符串中的任何位置。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8898050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档