SQL中的奇怪语句

SQL中的奇怪语句,sql,Sql,我在某处发现了这样的东西: SELECT [**] FROM [*] 这个页面的所有者说:“你能计算这个吗?”。我在mssql、Oracle和PostgreSQL中尝试了这条语句,得到了一个语法不正确的错误 有人知道它是什么以及它的作用吗?此语句适用于SQL Server、MS Access或Sybase。它的意思是:从名为*的表中获取名为***的列 是一个SQL小提琴显示它的工作 虽然我可以让它工作,但如果这是代码的实际意图,我会非常惊讶。此语句将在SQL Server、MS Access或

我在某处发现了这样的东西:

SELECT [**] FROM [*]
这个页面的所有者说:“你能计算这个吗?”。我在
mssql
Oracle
PostgreSQL
中尝试了这条语句,得到了一个语法不正确的错误


有人知道它是什么以及它的作用吗?

此语句适用于SQL Server、MS Access或Sybase。它的意思是:从名为
*
的表中获取名为
***
的列

是一个SQL小提琴显示它的工作


虽然我可以让它工作,但如果这是代码的实际意图,我会非常惊讶。

此语句将在SQL Server、MS Access或Sybase中工作。它的意思是:从名为
*
的表中获取名为
***
的列

是一个SQL小提琴显示它的工作


虽然我可以让它工作,但如果这是代码的实际意图,我会非常惊讶。

这不起作用。在被送到DBI之前,可能在某个地方被实际值替换的pleaceholder也有同样的想法,但这个问题几乎是程序员的工作机会。所以我想知道这是SQL中的一件棘手的事情,还是类似于“您必须知道SQL中的选择”:PLooks作为DBMS的命令“从我不知道的地方选择我不介意的东西”。没有机会。因此,在SQLServer中,您可以创建一些列和名称,这些列和名称是关键字或包含空格。实际上,您在SQL语句中使用了这些东西,您可以用[]来包围trhem,例如,从[Styl Table Name]中选择[User]。可能有一个名为*的表,其中包含一个名为**的列—我刚刚在SQL Server 2012中创建了一个表,所以这是可能的。这是一个非常愚蠢的想法。结果证明这是一个非常准确的测试,看看你是否理解[]的工作原理。但是,如果我在一家公司面试,在那里我可能会找到名为
[*]
[**]
的对象,我就不会对为他们工作感兴趣。这是行不通的。在被送到DBI之前,可能在某个地方被实际值替换的pleaceholder也有同样的想法,但这个问题几乎是程序员的工作机会。所以我想知道这是SQL中的一件棘手的事情,还是类似于“您必须知道SQL中的选择”:PLooks作为DBMS的命令“从我不知道的地方选择我不介意的东西”。没有机会。因此,在SQLServer中,您可以创建一些列和名称,这些列和名称是关键字或包含空格。实际上,您在SQL语句中使用了这些东西,您可以用[]来包围trhem,例如,从[Styl Table Name]中选择[User]。可能有一个名为*的表,其中包含一个名为**的列—我刚刚在SQL Server 2012中创建了一个表,所以这是可能的。这是一个非常愚蠢的想法。结果证明这是一个非常准确的测试,看看你是否理解[]的工作原理。但若我在一家公司面试,在那个里我可能会找到名为
[*]
[**]
的对象,我不会对为他们工作感兴趣。是的,因为它标有[括号],db对象名基本上可以是任何东西,甚至[*]是-甚至是unicode字符。想象一下查询以中文或其他非拉丁字母命名的列和表。。。哎呀!是的,因为它用括号标记,db对象名基本上可以是任何东西,甚至[*]是的,甚至是unicode字符。想象一下查询以中文或其他非拉丁字母命名的列和表。。。哎呀!