建表: create table SIZES(
ID NUMBER,
NAME VARCHAR2(100),
VALUE VARCHAR2(10),
OWN VARCHAR2(10)
)插入语句:
insert into SIZES (ID, NAME, VALUE, OWN) values (1, 'a', '----', 'f0');
insert into SIZES (ID, NAME, VALUE, OWN) values (2, 'b', '23', 'f0');
insert into SIZES (ID, NAME, VALUE, OWN) values (3, 'c', '-', 'f0');
insert into SIZES (ID, NAME, VALUE, OWN) values (4, 'd', '1231', 'f0');
insert into SIZES (ID, NAME, VALUE, OWN) values (1, 'a', '-', 'f1');
insert into SIZES (ID, NAME, VALUE, OWN) values (2, 'b', '45', 'f1');
insert into SIZES (ID, NAME, VALUE, OWN) values (3, 'c', '-', 'f1');
insert into SIZES (ID, NAME, VALUE, OWN) values (4, 'd', '56', 'f1');
insert into SIZES (ID, NAME, VALUE, OWN) values (5, 'f', '-', 'f1');此时执行
select
max(decode(s.own,'f0',s.value,0)) "f0",
max(decode(s.own,'f1',s.value,0)) "f1"
from sizes s group by s.id order by s.id
显示结果为:
f0 f1
--------
0 0
23 45
0 0
1231 56
0 -
为什么结果不是下面这样呢。。,可是把类似----换成其他符号可以呢,比如“|| \ | ! ”呢
f0 f1
--------
---- -
23 45
- -
1231 56
0 -
但是在表中在添加一条记录insert into SIZES (ID, NAME, VALUE, OWN) values (5, 'f', '-', 'f0');时,
原来查询结果中的0 - 也变成了 0 0 呢?大家遇到过这样的情况吗? 请教了,谢谢
ID NUMBER,
NAME VARCHAR2(100),
VALUE VARCHAR2(10),
OWN VARCHAR2(10)
)插入语句:
insert into SIZES (ID, NAME, VALUE, OWN) values (1, 'a', '----', 'f0');
insert into SIZES (ID, NAME, VALUE, OWN) values (2, 'b', '23', 'f0');
insert into SIZES (ID, NAME, VALUE, OWN) values (3, 'c', '-', 'f0');
insert into SIZES (ID, NAME, VALUE, OWN) values (4, 'd', '1231', 'f0');
insert into SIZES (ID, NAME, VALUE, OWN) values (1, 'a', '-', 'f1');
insert into SIZES (ID, NAME, VALUE, OWN) values (2, 'b', '45', 'f1');
insert into SIZES (ID, NAME, VALUE, OWN) values (3, 'c', '-', 'f1');
insert into SIZES (ID, NAME, VALUE, OWN) values (4, 'd', '56', 'f1');
insert into SIZES (ID, NAME, VALUE, OWN) values (5, 'f', '-', 'f1');此时执行
select
max(decode(s.own,'f0',s.value,0)) "f0",
max(decode(s.own,'f1',s.value,0)) "f1"
from sizes s group by s.id order by s.id
显示结果为:
f0 f1
--------
0 0
23 45
0 0
1231 56
0 -
为什么结果不是下面这样呢。。,可是把类似----换成其他符号可以呢,比如“|| \ | ! ”呢
f0 f1
--------
---- -
23 45
- -
1231 56
0 -
但是在表中在添加一条记录insert into SIZES (ID, NAME, VALUE, OWN) values (5, 'f', '-', 'f0');时,
原来查询结果中的0 - 也变成了 0 0 呢?大家遇到过这样的情况吗? 请教了,谢谢
解决方案 »
- oracle日志中是否有select查询的记录
- 在PB中执行ORACLE存储过程有什么要求吗?
- 如何在oracle report中调用外部的java及c++程序呢
- oralce 对比表记录
- 请问ORACLE用户可以改名吗?
- 请教一个如何快捷修改表中字段类型的问题
- 看看触发器语句对还是错
- 手动创建oracle数据库总是failure in processing system parameters!我快要崩溃了!新手求解答
- 装oracle9i时:要想安装pl/sql 按照哪个安装选项安装?
- pro*c编程中,prepare怎么用,谢谢了!^_^
- 在线跪求
- 求助ORA-01401: 插入的值对于列过大?
max(decode(s.own,'f0',s.value,null)) "f0",
max(decode(s.own,'f1',s.value,null)) "f1"
from sizes s group by s.id order by s.id
SQL> edi
已写入 file afiedt.buf 1 select id,
2 max(decode(s.own,'f0',s.value,null)) f0,
3 max(decode(s.own,'f1',s.value,null)) f1
4 from sizes s
5 group by s.id
6* order by s.id
SQL> / ID F0 F1
---------- ---------- ----------
1 ---- -
2 23 45
3 - -
4 1231 56
5 -
所以取max的时候会选'0'.如果换成其他符号,如'|',由于'|'的ASCII码是124,比'0'要大。
所以取MAX的时候会取'|'.