to armyyd(不会游泳的猫):
但是这两句检索出的记录不一样。
但是这两句检索出的记录不一样。
解决方案 »
- Oracle 下如何存储成文件
- Win7 oracle11Gr2不能创建数据库实例报出进程出错问题
- PowerCenter8.1中从文本文件抽取数据到数据库中的问题(使用参数文件)
- oracle安装失败
- 一个表的查询有办法同时用上两个索引吗?
- 问个sql语句写法的问题,请诸位帮忙
- ORACLE 11G EXPDP导出报错:无法打开日志文件
- Oracle语句求助,急。。。。。。。。。。。。。。。。。
- 求教:oracle 9i 学习
- Oracle GoldenGate 零基础入门培训--安装、配置、诊断
- 怎么打开一个以.MB结尾的MB类型数据文件,好急
- 在ORACLE中怎样计算其需求量。如生产A需要零件X、Y、Z、L、M、N各是几个!
oracle 里面 '' = null ,空格就不等于null了
try:
SELECT * FROM TEST
WHERE NVL(COLNAME,'')=trim(' ') ;
不会自动trim的。
第二句 左边是一个空格 右边是两个空格 ,但这样就不相等了,为什么?
在ORACLE里面,一个空格可以等于任意个空格SELECT * FROM TEST
WHERE ' '=' '
这一句可以查出全部的数据
SELECT * FROM TEST
WHERE ' '=' ' <-------这样是成立的.
这一句可以查出全部的数据
看下面的测试:
SQL> desc testa;
Name Type Nullable Default Comments
---- ------------- -------- ------- --------
ID NUMBER Y
NAME VARCHAR2(100) Y SQL> select * from testa; ID NAME
---------- -----------------------------------
2
2
1 tSQL> select length(a.name) from testa a;LENGTH(A.NAME)
--------------
1
1
1SQL> select ascii(a.name) from testa a ;ASCII(A.NAME)
-------------
32 <---表中有空格
32
116SQL> select * from testa a where a.name=' '; <--这里是两个空格, ID NAME
---------- -----------------------------SQL>
--说明一个空不等于两个空.