

老师,在使用SQL语句选择列字段时,我发现遇到有空格的字段名会报错,AS或数字或空字段名也会报错,怎么办?


一般数据表的字段规范是字段名称中不能出现“空格”,更不能有“空”;字段一般是“文本”也不应该是“数字”。所以当SQL语句中遇到这些情况时,就会报错。当字段名是“AS”时,因为AS是SQL语句的保留字,所以也会报错。特殊字段需要特殊处理。

SELECT 部门,[姓名],学历,F4 AS 省份,[AS] AS 民族,[123] AS 来源,入司日期 AS 入职日期 FROM [原始数据$]
如果我们需要更改查询结果中的字段名称,例如要把“入司日期”改成“入职日期”,可以使用关键字AS,AS是英文Alias 的缩写,也就是“别名”的意思,SQL语句为:SELECT部门,入司日期AS 入职日期 FROM [原始数据$];当字段名存在某些特殊字符如空格,或者当字段名存在SQL语言的保留字如AS,或者当字段名称为数字时,该字段名需要使用中括号括起来,避免因语法识别混乱,系统产生错误信息的提示,SQL语句为:SELECT 部门,[姓名],[AS] AS 民族,[123] AS 来源 FROM [原始数据$];如果数据表没有标题行,或者标题行存在合并单元格等,以至于字段名无法使用,此时,倘若需要获取字段数据,对字段名通常使用F加序列号表示,引用表的第1列字段名就是F1,第2列字段名是F2,其余依次类推,SQL语句为:SELECT 部门, F4 AS 省份FROM [原始数据$]。


查询所有字段,而在所有字段中有“空”时,用“*”能查出来吗?语句为:SELECT * FROM [原始数据$],查询结果如下。

看来用“*”是可以查出来的,空字段名表示为“F4”,验证了空字段名通常使用F加序列号表示,其他带空格字段、保留字字段、数字字段等都原样返回。
你记住了吗?
SELECT[姓 名],学历,F4 AS 省份,[AS] AS 民族,FROM[原始数据$]
视频讲解请见视频号:Office郑
下期预告:SQL in Excel 06:对列数据进行运算




