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

  • 相关阅读:
    [原]写项目方案书的六字方针
    [原]简述Field,Attribute,Property的区别
    [原]Excel(电子表格)中的大写变成小写
    [原]滚动的图片或文字(有缝)
    [原]按字母索引(asp版)
    [原]sql语句上一篇,下一篇
    [原]选中行后高亮显示
    自定义报表开发、使用手册
    男人必须终身牢记的一句话
    在sqlplus中操作blob和clob
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/7271487.html
Copyright © 2011-2022 走看看