我可以在 Oracle、Potsgresql 和 Sql Server 上使用“some()”函数。但它是通用 SQL 函数还是某些扩展的一部分?
问问题
119 次
3 回答
4
some
ANY
是它们都不是“函数”而是条件(或运算符)的别名。
它们有点类似于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 回答