《SQL初学者指南(第2版)》——2.5 带有空格的列名-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

《SQL初学者指南(第2版)》——2.5 带有空格的列名

简介:

本节书摘来自异步社区出版社《SQL初学者指南(第2版)》一书中的第2章,第2.6节,作者:【美】Larry Rockoff,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.5 带有空格的列名

如果列的名称中有空格,该怎么办?例如,假设LastName列的列名用的是Last Name(两个单词间插入了一个空格)。显然,下面这条语句是无效的:

SELECT
Last Name
FROM Customers

因为Last和Name不是列名,所以这条语句被认为是无效的。况且,即使Last和Name是正确的列名,它们之间也需要用逗号隔开。解决方案就是,用特殊的字符把所有包含空格的列名括起来。根据你所使用的数据库,这里所采用的字符也不同。对于Microsoft SQL Server,使用的字符是方括号,正确的语法如下所示:

SELECT
[Last Name]
FROM Customers

关于语法,还有另外一点要注意,就像关键字不区分大小写一样,表名和列名也不区分大小写。例如,前面的示例等同于:

select
[last name]
from customers

为了清晰起见,在本书中,我们会把所有的关键字全部用大写形式印刷,把表名和列名以首字母大写的形式印刷,但是请注意,并不是一定要这么做。

数据库的差异:
 

MySQL和Oracle 在MySQL中,用重音符(')把包含空格的列名括起来。语法如下所示: SELECT Last Name FROM Customers; 在Oracle中,用双引号把带有空格的列名括起来。语法如下所示: SELECT "Last Name" FROM Customers; 此外,与Microsoft SQL Server和MySQL不同的是,在Oracle中,用双引号括起来的列名是区分大小写的。这就意味着,上述的语句不能等同于: SELECT "LAST NAME" FROM Customers;

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章