甲骨文愚蠢的'not in'和'not equal to'问题



这并不重要,只是想知道为什么Oracle SQL的引号似乎不一致? 我的意思是他们为什么有...

NOT IN (?,?,?)  

!= '?'

而不是

NOT EQ '?'

只是一个想法

K

NOT IN ( ?, ? )是ISO 9075 SQL标准语法。 我确实想知道可以用什么符号来表示"不在"。 这似乎很愚蠢,因为"数学"符号(如!=(几乎是自我记录的,而"不在"所需的"set"类型符号在大多数键盘上不可用,大多数开发人员也不熟悉它们。

请注意,!=NOT EQ都不是 ISO 标准。 标准的"不等于运算符"是<>,但正如这里所指出的,!=有一些优点。

在代码NOT IN (?,?,?)中,问号似乎是参数化查询中的位置参数,而代码!= '?'是与字符串文本的比较。 如果您希望将其参数化,则无需单引号即可!= ?

最新更新