zoukankan      html  css  js  c++  java
  • 别名的使用注意,""真坑。

    我们使用别名都是使用as关键字。

    大多数时候我们都会省略as关键字,然后后面直接加别名就好了。我的习惯是别名用双引号括起来。

    今天因为这个习惯坑了我一大波

    首先oracle的别名的规则:

      AS 别名

      特殊字或者保留字啥的使用引号括起来别名

    别名是在查询语句内,语句的执行顺序:

           1. FROM语句

                    2. WHERE语句(结合条件)

                    3. START WITH语句

                    4. CONNECT BY语句

                    5. WHERE语句

                    6. GROUP BY语句

                    7. HAVING语句

                    8. MODEL语句

                    9. SELECT语句

                    10. UNION、MINUS、INTERSECT等集合演算演算

                    11. ORDER BY语句

    使用别名的时候可能由于执行顺序导致找不到列

    还有,在子查询中最好不要用引号别名。会导致你的外面where无法使用你子查询得到伪表中的列,这个我也不清楚原因。

    证据:

    select * from 
    (select 
                id, 
                create_date,  
                SUBSTR(channel,0,NVL(INSTR(channel, '|', 1,1),0)-1) "sms_tag_id",
                SUBSTR(channel,NVL(INSTR(channel, '|', 1,1),0)+1, length(channel)- NVL(INSTR(channel, '|', 1,1),0)) "store_id",
                channel 
                from user_login 
                where 
                NVL(INSTR(channel, '|', 1,1),0) != 0) u 
    where u.store_id = 'platf.anzhi'
    执行报错:U.store_Id: invalid identifier

     当我去掉了双引号它就好了。我擦。

    参考链接:http://www.cnblogs.com/godtrue/p/3791591.html

  • 相关阅读:
    Python面向对象编程
    Python模块
    Python函数式编程(把函数作为参数传入)
    Python函数高级特性
    Python函数基础
    连续数字或英文字符文本强制换行
    flex布局文本过长不显示省略号
    在div中放一个相同大小的svg,实际显示的位置svg偏下
    设置git push默认branch
    c# using
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/7271487.html
Copyright © 2011-2022 走看看