有和没有单引号的差异

时间:2014-10-02 17:28:31

标签: sql sql-server sql-server-2008

我看到人们定义带有和不带引号的别名,但我不明白它们之间的区别。何时以及为什么我们应该使用引号,何时以及为什么不使用引号?

convert(char(20) , usr_name) 'Name'; 
convert(char(20) , usr_name) "Name"; 
convert(char(20) , usr_name) Name;

2 个答案:

答案 0 :(得分:0)

如果您想在字段名称中添加空格,则需要双引号:即

convert(char(20) , usr_name) 'Name'; 
convert(char(20) , usr_name) "Employee Name"; 

答案 1 :(得分:0)

这与有关SQL Server identifiers的规则有关。当标识符包含保留关键字或无效字符时,必须使用双引号(仅在打开quoted identifiers时有效)或方括号分隔。在所有其他情况下,分隔符是可选的。

单引号是列别名的附加分隔符。 AFAIK,这是唯一可以使用它们的情况(除了在查询的其他部分引用别名时)。但请不要引用我的话。 MSDN令人惊讶地缺乏列别名的描述。

尽管如此,您的示例中提供的列别名不需要分隔。