sybase的sql字段别名,可以直接作为where中的条件

来源:互联网 发布:守望先锋配置检测软件 编辑:程序博客网 时间:2024/06/03 13:16
今天在sybase库中写sql时,将查询的字段用常量替换,并将字段名作为别名,发现查不到数据。
select 25 as CITY_CODE  FROM DW.O_DX_DW_VOLTE_CITY_H WHERE  CITY_CODE=1  AND START_TIME=20161013140000000 

问了人说是:
sybase的sql字段别名,可以直接作为where中的条件。
所以上面的sql可以这样理解,把表中CITY_CODE的值先赋值为25,然后查询表中CITY_CODE为1的数据,所以就没值了。
我觉得给字段取别名的时候还是不要用原字段名,如果不是特别清楚各个库的查询规则,很容易出错。
注意:oracle,mysql,sqlserver库可以这样写,因为它们执行sql的顺序相同,大致都是先from,后where,后select。
1 0