别名列与空格

本文关键字:空格 别名 | 更新日期: 2023-09-27 17:54:41

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

SELECT tblCar.Purchase Price AS Price

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

任何想法如何处理列名与空格在这个SELECT语句?

别名列与空格

每个单元需要放在一个单独的方括号中,当你做这样的事情时:

[tblCar.Purchase Price]

它认为这是完整的列名,而是尝试this [tblCar]。(购买价格)。查看以下链接了解更多详情:

如何处理SQL Server中列名中的空格?

sql server:列名周围的括号是什么意思?

如何引用名称中有空格的列?

实际上,表名不需要方括号,它只需要用于带空格的列名,所以这也可以工作:

tblCar.[Purchase Price]

在你的情况下,如果你使用的是SQL SERVER,你可以这样做,把名字用方括号括起来。

但是,如果可能的话,最好避免在名称中使用空格

SELECT [tblCar].[Purchase Price] AS Price

也如果有人得到这个问题在MySql比这可以通过正确引用你的列名来解决:

SELECT `tblCar.Purchase Price` AS Price

将表名和列名放在括号中,就像[tblCar]。(购买价格)。

将表名放在引号中在MS SQL Server中不起作用。

在SQL Server 2008 R2中,[购买价格]对我来说很合适。你使用的是哪个版本的SQL版本??