Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 以数字作为列名前缀(例如3name)的语法是否有效?_Sql_Sql Server 2012_Select Query - Fatal编程技术网

Sql 以数字作为列名前缀(例如3name)的语法是否有效?

Sql 以数字作为列名前缀(例如3name)的语法是否有效?,sql,sql-server-2012,select-query,Sql,Sql Server 2012,Select Query,上周五我在写一份报告时,注意到有一列每行返回“3”,尽管表中的数据不是这样说的。在仔细查看我的sql之后,我注意到在我的选择列表中有一个打字错误导致了这个问题 为什么sql解析器允许下面的sytax?我本以为这会返回一个错误,因为表中不存在列“3Name” Select 3Name from Employee 它被解释为 选择3作为名称 因此,所有行的结果都是“Name”列和值3。请包括用于执行此操作的软件-并非所有类型的SQL都是如此,甚至会因使用的SQL客户端而异。这是在microsoft

上周五我在写一份报告时,注意到有一列每行返回“3”,尽管表中的数据不是这样说的。在仔细查看我的sql之后,我注意到在我的选择列表中有一个打字错误导致了这个问题

为什么sql解析器允许下面的sytax?我本以为这会返回一个错误,因为表中不存在列“3Name”

Select 3Name from Employee
它被解释为 选择3作为名称
因此,所有行的结果都是“Name”列和值3。

请包括用于执行此操作的软件-并非所有类型的SQL都是如此,甚至会因使用的SQL客户端而异。这是在microsoft SQL server 2012上进行的