表:create table test(name varchar2(20), score number);
数据:张三 88
张三 70
李四 79
select decode(name,'张三',score,0) from test;出来的结果全是0,为什么?
数据:张三 88
张三 70
李四 79
select decode(name,'张三',score,0) from test;出来的结果全是0,为什么?
select a.*,decode(name,trim' 张三 ',score,0) from test a;
少加一个括号、、、、改::
select a.*,decode(name,trim(' 张三 '),score,0) from test a;
简单的检查一下字段内容吧,如果还是有问题,便于排错,就把中文先替换成英文试试
create table test(name varchar2(20), score number);
insert into test values('张三',88);
insert into test values('王五',70);
insert into test values('李四',70);select decode(name,'张三',score,0) from test;我测试可以啊。 可能是因为你'张三' 里有空格吧。