SELECT reqid, aid, ASCIISTR(aid) asciistr, ASCII(aid) ascii,
NVL(aid, 'aid is null') NVL, ldate, sysdate
FROM sms.bak_sms_sendinfo
WHERE cid='gf'
AND ldate >= TO_DATE ('2007-12-21 11:5:00', 'yyyy-mm-dd hh24:mi:ss')
AND ldate < TO_DATE ('2007-12-22 11:6:00', 'yyyy-mm-dd hh24:mi:ss')
AND reqid in (642687000,642687370,642687061)--=================================================
aid 看起来有两个为空(排除空格). 但是一个用ASCII(aid) ,返回0,表示aid为 null;
用NVL(aid,'aid is null') 却没内容. 另一个用ASCII(aid) 没内容;
用NVL(aid,'aid is null') 返回"aid is null". 详细请看附图.
NVL(aid, 'aid is null') NVL, ldate, sysdate
FROM sms.bak_sms_sendinfo
WHERE cid='gf'
AND ldate >= TO_DATE ('2007-12-21 11:5:00', 'yyyy-mm-dd hh24:mi:ss')
AND ldate < TO_DATE ('2007-12-22 11:6:00', 'yyyy-mm-dd hh24:mi:ss')
AND reqid in (642687000,642687370,642687061)--=================================================
aid 看起来有两个为空(排除空格). 但是一个用ASCII(aid) ,返回0,表示aid为 null;
用NVL(aid,'aid is null') 却没内容. 另一个用ASCII(aid) 没内容;
用NVL(aid,'aid is null') 返回"aid is null". 详细请看附图.
解决方案 »
- oracle统计中总计小计显示的问题
- create table 判断表存在不存在也重新创建的问题?
- 关于‘资源计划’功能的利用的问题
- 在 oracle8i中编写存储过程用什么工具来写?
- sql语句问题
- ora-12571 TNS: 包写入程序失败。客户机突然连不上服务器了,求救!!!!!
- 在线等待,有哪位老兄提供从现有数据库获取建立现有数据库对象(表,索引,主键...)的脚本?
- 请问在oracle中写存储过程时,遇到两个单引号时该怎样写?
- oracle常见错误问题!
- Oracle安装好之后 sqlplus 乱码
- 请教:多表(9个)联合查询语句怎么写?
- 请问:引用远程数据链路中,关于使用case when 语句的问题,谢谢
ASCIISTR (aid) asciistr, ASCII (aid) ascii,
NVL (aid, 'aid is null') NVL
FROM sms.bak_sms_sendinfo
WHERE cid='gf'
AND ldate >= TO_DATE ('2007-12-21 11:5:00', 'yyyy-mm-dd hh24:mi:ss')
AND ldate < TO_DATE ('2007-12-22 11:6:00', 'yyyy-mm-dd hh24:mi:ss')
AND reqid in (642687000,642687370,642687061)--============================REQID AID DUMP ASCIISTR ASCII NVL
----------- ---------- ----------------------------- -------------- ---------- -------
642687000 Typ=1 Len=6: 0,0,0,0,0,0 0
642687061 NULL aid is null
642687370 hhyf Typ=1 Len=4: 104,104,121,102 hhyf 104 hhyf
嗯,用dump得到的值是不同,但看不懂是什么值.
oracle中的值除了null,空格 还有什么值看起是空白的谢谢
REQID AID DUMP ASCIISTR ASCII NVL
----------- ------ --------- ---------- ----------- -------
642687000 Typ=1 Len=6: 0,0,0,0,0,0 0
642687061 NULL aid is null
642687370 hhyf Typ=1 Len=4: 104,104,121,102 hhyf 104 hhyf
0对应的ascii字符是空,并非null,所以第一条记录返回的是aid的内容,所以为空,没内容。
begin
if chr(0) is null then
dbms_output.put_line('ASCII 0 map to ot NULL value.');
else
dbms_output.put_line('You are wrong.');
end if;
end;
SQL> select * from dual where null<>null;未选定行
SQL> select * from dual where null=null;未选定行