Oracle SQL 查询中的方括号是什么意思?

问题描述 投票:0回答:4

我发现 select 语句中有方括号。谁能解释一下这个括号是什么意思?

例如

select a,b,[c] from table1;

谢谢。

sql oracle oracle10g oracle11g
4个回答
3
投票

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


2
投票

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

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

它是查询中的分组字符。


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 特性,它们在字符串中使用方括号,但任何人都可以创建自己的自定义子语言。


-3
投票

select 语句中的方括号用于当表名包含空格时

select * from [Department Managers]

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

Select [From],[To] from tbl

祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.