我有一个 SQL Server 2005 查询,在 Select 语句中使用 case 语句。我想知道“正确”的做法是什么。
每种格式似乎都工作得很好,但我想知道不同的选择之间是否存在一些冗余或其他东西。
示例格式:
SELECT 'isItemDisplayed' = CASE WHEN ... THEN ... END FROM myTable
SELECT isItemDisplayed = CASE WHEN ... THEN ... END FROM myTable
SELECT CASE WHEN ... THEN ... END AS isItemDisplayed FROM myTable
SELECT CASE WHEN ... THEN ... END AS 'isItemDisplayed' FROM myTable
SELECT CASE WHEN ... THEN ... END isItemDisplayed FROM myTable
最佳答案
引用 this 底部的示例页面,我会说:
SELECT CASE WHEN ... THEN ... END AS isItemDisplayed FROM myTable
因为它明确定义了 isItemDisplayed
作为名称。
我个人更喜欢:
SELECT CASE WHEN ... THEN ... END AS [isItemDisplayed] FROM myTable
因为它涵盖了保留字(即使您永远不应该将任何名称命名为与保留字相同),并且您可以包含空格。
根据this在博客中,不使用任何显式标识符(=
或 As
)是不好的做法。
除了 SSMS 将名称显示为不同的颜色之外,在别名周围使用单引号没有任何优势,也许可以使其突出?
关于SQL Case 语句正确的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19389355/