代码之家  ›  专栏  ›  技术社区  ›  Paul Navin Israni

定义字段的(别名)名称

  •  2
  • Paul Navin Israni  · 技术社区  · 6 年前

    我已经看过我们的一个经典ASP系统中的一些代码,它在存储过程中构建自己的SQL,然后执行它 {颤抖} .

    SELECT

    SELECT 
        my_field = CASE WHEN value = whatever THEN 1 ELSE 0 END
        ...
    

    这和使用标准之间有什么区别吗(或者我需要注意什么) AS

    SELECT 
        CASE WHEN value = whatever THEN 1 ELSE 0 END AS my_field
        ...
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   Thom A    6 年前

    SELECT one = 1;
    SELECT 1 one;
    SELECT 1 AS one;
    SELECT 'one' = 1; --this is deprecated, don't use it.
    

    您使用的(除了最后一个),通常是首选项。就我个人而言,我使用 AS . 一个原因是我可以很容易地告诉查询返回数据集,和那些赋值给变量的一部分。

        2
  •  1
  •   Morten    6 年前

    你所举的两个例子是相同的。但是,当您浏览旧代码时,可能还会发现前面有一个带有@符号的变体 my_field

    SELECT
        @my_field = CASE WHEN value = whatever THEN 1 ELSE 0 END
    

    @my_field 已指定值,但未选择任何内容。您不能使用重写到其他语法 AS @myfield