select t.store_name,case t.store_name when ‘LosAngeles’ then sales*2 else sales end "NewSales", gdate from store_information t store_name在数据库中式varchar2型数据,但是在执行以上sql文的时候在‘LosAngeles’位置一直报错,varchar2类型的数据不是用‘’来引用吗?
‘LosAngeles’ 用了全角单引号吧。你的别名也弄错了,不要用双引号select t.store_name,case t.store_name when 'LosAngeles' then sales*2 else sales end NewSales, gdate from store_information t
写了双引号后面很不好调用,如果是在一个视图里面封装这个别名,在外面调用视图还必须带上双引号与之前写得一摸一样,否则找不到这个列,如:create view v_test as select id,usrnam as "UsrNames" from usrs ;调用 select id, "UsrNames" from v_test; 只有这种是对的; select id,UsrNames from v_test;这种错误; select id,USRNAMES from v_test;这种也错误
select t.store_name,
decode(t.store_name,'LosAngeles',sales*2,sales) NewSales,
gdate
from store_information t;
仔细观察哦: ‘’ 中文字符
'' 英文字符就好像 http://www.baidu.com 与 http://www.baidu.com第一个可以,第二个不可以.
when 'LosAngeles' then sales*2
else sales
end
NewSales,
gdate
from store_information t
select id,usrnam as "UsrNames" from usrs ;调用
select id, "UsrNames" from v_test; 只有这种是对的;
select id,UsrNames from v_test;这种错误;
select id,USRNAMES from v_test;这种也错误