我看到人们定义带有和不带引号的别名,但我不明白它们之间的区别。何时以及为什么我们应该使用引号,何时以及为什么不使用引号?
convert(char(20) , usr_name) 'Name';
convert(char(20) , usr_name) "Name";
convert(char(20) , usr_name) Name;
答案 0 :(得分:0)
如果您想在字段名称中添加空格,则需要双引号:即
convert(char(20) , usr_name) 'Name';
convert(char(20) , usr_name) "Employee Name";
答案 1 :(得分:0)
这与有关SQL Server identifiers的规则有关。当标识符包含保留关键字或无效字符时,必须使用双引号(仅在打开quoted identifiers时有效)或方括号分隔。在所有其他情况下,分隔符是可选的。
单引号是列别名的附加分隔符。 AFAIK,这是唯一可以使用它们的情况(除了在查询的其他部分引用别名时)。但请不要引用我的话。 MSDN令人惊讶地缺乏列别名的描述。
尽管如此,您的示例中提供的列别名不需要分隔。