2012-07-31 481 views
5

我发现带有方括号的选择语句。任何人都可以解释这个括号是什么意思吗?Oracle SQL查询中的方括号是什么意思?

例如

select a,b,[c] from table1; 

谢谢。

+0

至少发表声明,以便我们可以看到,请! – 2012-07-31 14:37:28

+0

将更新添加到信息 – 2012-07-31 14:39:39

+3

这不是Oracle中的有效声明。它会抛出ORA-00936:缺少表达。 – APC 2012-07-31 15:12:44

回答

1

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

的括号字符用于组术语和字符之间发现操作员;但是,它们可以防止扩展操作符的渗透(模糊,soundex,干)。

它是查询中的分组字符。

+0

我认为这可以是正确的答案在我的问题,谢谢sqrfv – 2012-07-31 16:32:06

+2

我高度怀疑这是一个正确的答案。仅在CONTAINS(列,查询)> 0或类似子句中使用Oracle Text查询语法。 – DKroot 2016-05-26 21:47:28

-2

在选择语句方括号用于当表名称包含例如一个空间

select * from [Department Managers] 

所需[]是当另一时间是当一列或表名是一个内置在SQL Server的名称功能或例如关键字,如果列是从所谓的,这个一定要像

Select [From],[To] from tbl 

好运访问

+2

这个问题被标记为Oracle。不是SQL-Server – 2012-07-31 14:48:40

+2

不在Oracle中;保留字等用双引号括起来。 – 2012-07-31 14:48:51

+0

最后,我正在寻找答案。 “双引号”。感谢Alex。 – Ryan 2017-10-10 23:30:59

1

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

0

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

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使用双引号的方式 - 使标识符将保留字或其他怪异的名字。但是,这样的查询是无效的甲骨文:

select a,b,[c] from table1; 

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

相关问题