Oracle中奇怪的【不等于号】
2014-03-07 13:13
260 查看
在Oracle中,不等号有三种:<>,!=,^=
例如:
select * from test where name<>'xn'。返回的结果是name不为xn,且name不空的记录。但是这与我们想要得到的结果有出入,因为我们的目的是得到name为xn的全部记录,当然这也包括name为空的记录,所以这些写SQL语句是有问题的。为了解决这个问题,我们可以采用以下两种方案:
备注:null只能通过is null或者is not null来判断,其它操作符与null操作都是false。
各数据库中的字符串连接方法
1)MySQL:CONCAT()
2)Oracle:CONCAT(),||
3)SQL Server: +
例如:
例如:
select * from test where name<>'xn'。返回的结果是name不为xn,且name不空的记录。但是这与我们想要得到的结果有出入,因为我们的目的是得到name为xn的全部记录,当然这也包括name为空的记录,所以这些写SQL语句是有问题的。为了解决这个问题,我们可以采用以下两种方案:
select * from test where instr(concat(name,'xx'),'xn') = 0 ; select * from test where nvl(name,'xx')<>'xn' ;
备注:null只能通过is null或者is not null来判断,其它操作符与null操作都是false。
各数据库中的字符串连接方法
1)MySQL:CONCAT()
2)Oracle:CONCAT(),||
3)SQL Server: +
例如:
SELECT 'this is '+'a test'; 返回值this a test SELECT CONCAT('this is ','a test') from dual; 返回值this a test SELECT 'this is '||'a test' from dual; 返回值this a test
相关文章推荐
- Oracle中奇怪的【不等于号】
- 删除Oracle中奇怪的表名称BIN$…的方法
- Oracle中的不等于号
- Oracle中的不等于号
- Oracle之保有量计算(当前记录等于前几条记录之和)
- oracle的select into和冒号等于的两种赋值方式
- Oracle关于varchar2型中"(空字符串)是否等于NULL问题
- 问题:oracle 不等于;结果:Oracle中的不等于号
- ORACLE中遇见的一个奇怪的问题
- 记一次ORACLE SQLPLUS 无响应 导致的奇怪问题
- 浅析Oracle中的不等于号
- 莫名奇怪的BUG--ORACLE里的JOB执行完就DROP了。
- Oracle 10G R2一次奇怪的START/SHUTDOWN经历
- ORACLE_SID奇怪问题(linux下的一些注意点)
- Oracle 不等于号
- [原创] Legato 8.1 oracle full backup skip 奇怪的问题处理过程 -- 非调度日期手工运行调度也不成功(skip)
- oracle条件不等于字符bug
- Oracle中的不等于号
- Oracle中“不等于”的使用
- 一个Oracle存储过程编译死锁的奇怪现象