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