我发现 select 语句中有方括号。谁能解释一下这个括号是什么意思?
例如
select a,b,[c] from table1;
谢谢。
这不是有效的 Oracle SQL 或 PL/SQL。
根据oracle的文档:http://docs.oracle.com/cd/B10500_01/text.920/a96518/cqspcl.htm
括号字符用于对字符之间的术语和运算符进行分组;但是,它们会阻止扩展运算符(模糊、soundex、词干)的渗透。
它是查询中的分组字符。
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 特性,它们在字符串中使用方括号,但任何人都可以创建自己的自定义子语言。
select 语句中的方括号用于当表名包含空格时
select * from [Department Managers]
另一个需要 [] 的时候是当列名或表名是内置 SQL Server 函数或关键字的名称时,例如,如果从中调用列,则必须像这样访问
Select [From],[To] from tbl
祝你好运