这并不重要,只是想知道为什么Oracle SQL的引号似乎不一致? 我的意思是他们为什么有...
NOT IN (?,?,?)
和
!= '?'
而不是
NOT EQ '?'
只是一个想法
K
NOT IN ( ?, ? )
是ISO 9075 SQL标准语法。 我确实想知道可以用什么符号来表示"不在"。 这似乎很愚蠢,因为"数学"符号(如!=
(几乎是自我记录的,而"不在"所需的"set"类型符号在大多数键盘上不可用,大多数开发人员也不熟悉它们。
请注意,!=
和NOT EQ
都不是 ISO 标准。 标准的"不等于运算符"是<>
,但正如这里所指出的,!=
有一些优点。
在代码NOT IN (?,?,?)
中,问号似乎是参数化查询中的位置参数,而代码!= '?'
是与字符串文本的比较。 如果您希望将其参数化,则无需单引号即可!= ?
。