6

我在其中找到带有方括号的 select 语句。谁能解释这个括号是什么意思?

例如

select a,b,[c] from table1;

谢谢。

4

4 回答 4

3

这不是有效的 Oracle SQL 也不是 PL/SQL。

于 2016-05-26T21:47:57.257 回答
2

根据oracle的文档:http ://docs.oracle.com/cd/B10500_01/text.920/a96518/cqspcl.htm

括号字符用于对字符之间的术语和运算符进行分组;但是,它们会阻止扩展运算符(fuzzy、soundex、stem)的渗透。

它是查询中的分组字符。

于 2012-07-31T14:42:11.867 回答
0

Oracle SQL 中的方括号仅用于MODEL子句中的单元格引用。例如:

select *
from dual
model
    dimension by (0 the_dimension)
    measures (0 the_measure)
    rules iterate(5)
    (
        the_measure[iteration_number] = iteration_number
    );

THE_DIMENSION   THE_MEASURE
-------------   -----------
0               0
1               1
2               2
3               3
4               4

其他数据库可能会使用方括号,就像 Oracle 使用双引号一样 - 使标识符能够使用保留字或其他奇怪的名称。但是这样的查询在 Oracle 中是无效的:

select a,b,[c] from table1;

在很多情况下,字符串中的方括号可能对某些 Oracle 特性具有特殊意义。但是字符串中的字符通常不算作语言语法的一部分,否则语法永远不会结束。JSON、文本、正则表达式和 XML 是一些流行的 Oracle 特性,它们在字符串中使用方括号,但任何人都可以创建自己的自定义子语言。

于 2016-05-27T04:47:31.697 回答
-3

当表名包含空格时,例如使用 select 语句中的方括号

select * from [Department Managers]

另一个需要 [] 的情况是当列或表名是内置 SQL Server 函数或关键字的名称时,例如,如果从其中调用列,则必须像这样访问它

Select [From],[To] from tbl

祝你好运

于 2012-07-31T14:42:42.157 回答