带空格的列的别名?

时间:2015-06-10 03:56:56

标签: c# sql asp.net

我需要一个包含3个表和2个内连接的查询。我的SELECT语句中的一个列名称包含一个空格(现有数据库),因此它看起来像:

SELECT tblCar.Purchase Price AS Price

SQL当然不喜欢这个空间。我尝试过方括号[tblCar.Purchase Price],单引号和双引号"tblCar.Purchase Price"以及tblCar.[Purchase Price],但它们都没有飞过。

如何在SELECT语句中使用空格处理列名?

4 个答案:

答案 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版本?