我需要一个包含3个表和2个内连接的查询。我的SELECT语句中的一个列名称包含一个空格(现有数据库),因此它看起来像:
SELECT tblCar.Purchase Price AS Price
SQL当然不喜欢这个空间。我尝试过方括号[tblCar.Purchase Price]
,单引号和双引号"tblCar.Purchase Price"
以及tblCar.[Purchase Price]
,但它们都没有飞过。
如何在SELECT语句中使用空格处理列名?
答案 0 :(得分:2)
当您执行以下操作时,每个单元都需要位于单独的方括号中:
[tblCar.Purchase Price]
它认为这是完整的列名,而是试试这个[tblCar]。[购买价格]。请查看以下链接以获取更多详细信息:
How do you deal with blank spaces in column names in SQL Server?
sql server:what do brackets mean around column name?
How can I reference a column with a space in the name?
实际上,表名不需要方括号,只需要带空格的列名,所以这也有效:
tblCar.[Purchase Price]
答案 1 :(得分:1)
在您的情况下,如果您使用的是SQL SERVER,则可以执行此操作,将名称包含在方括号中。
但是,如果可能的话,最好避免使用名称中的空格
MySigleton.getInstance()
此外,如果有人在MySql中获得此问题,则可通过正确引用您的列名来解决此问题:
SELECT [tblCar].[Purchase Price] AS Price
答案 2 :(得分:0)
将表名和列名放在括号中,如[tblCar]。[购买价格]。将表名放在引号中并不适用于MS SQL Server。
答案 3 :(得分:0)
在SQL Server 2008 R2中,tblCar。[购买价格]对我来说很好。您使用的是哪个版本的SQL版本?