2

我可以在 Oracle、Potsgresql 和 Sql Server 上使用“some()”函数。但它是通用 SQL 函数还是某些扩展的一部分?

4

3 回答 3

4

someANY是它们都不是“函数”而是条件(或运算符)的别名。

它们有点类似于IN(and ALL) 运算符,只是它们不对相关子查询的完整集进行运算符,而仅对“一些”(或“任何” )行进行运算符。

这是 PostgreSQL 手册中的相关部分:
http ://www.postgresql.org/docs/current/static/functions-comparisons.html#AEN18025

以下是 Oracle 手册的相关部分:http:
//docs.oracle.com/cd/E11882_01/server.112/e26088/conditions002.htm#CJAGAABC

这是 SQL Server 手册的相关部分:http:
//msdn.microsoft.com/en-us/library/ms175064%28v=sql.90%29.aspx

(部分)引用 ANSI SQL 2006 标准:

<量化比较谓词>

<量化比较谓词> ::=
   <行值谓词> <量化比较谓词第二部分>

<量化比较谓词第二部分> ::=
   <comp op> <quantifier> <table subquery>

<量词> ::=
  <全部>
  | <一些>

<全部> ::=
   全部

<一些> ::=
  一些
  | 任何
于 2013-03-04T20:48:33.703 回答
1

使用运算符 SOME() 和 ANY() 的查询在 MySQL 中有效

于 2013-03-04T20:40:29.800 回答
1

它是 ISO/IEC 9075:1992 的一部分,也称为 ANSI SQL 92 标准。请参阅sql-1992 文档中的“8.7 <量化比较谓词>” 。

于 2013-03-04T20:57:50.157 回答