如 :Select Field1 as Express1,Field2 as Express2 from Table1
我想Express1*Express2 因为Express1语句很长
Select Field1 as Express1,Field2 as Express2, Express1*Express2 as Exp3 from Table1
...全文
28313打赏收藏
列的别名可以用于运算吗?
如 :Select Field1 as Express1,Field2 as Express2 from Table1 我想Express1*Express2 因为Express1语句很长 Select Field1 as Express1,Field2 as Express2, Express1*Express2 as Exp3 from Table1
这里有个SQL特性-同时操作:
就是表达式的别名不能用于SELECT列表的其他表达式。如 select c1+1 as c2 ,c2+1 as c3 应该改成 select c1+1 as c2 select c1+1+1 as c3
这个特性你可以理解为操作都是一瞬间同时完成。否则你看下面的列子
UPDATE A
SET COL=(SELECT MAX(COL) FROM A)
如果你的更新不是一起完成,有先后顺序,那你这里就会出问题了。最大的COL随时都在变可能,这跟你愿意是不对老的。
[Quote=引用楼主 wangqiang2007 的回复:]
如 :Select Field1 as Express1,Field2 as Express2 from Table1
我想Express1*Express2 因为Express1语句很长
Select Field1 as Express1,Field2 as Express2, Express1*Express2 as Exp3 from Table1