sql select 语句请教,一个表中的列1、列2对比出不同的数据?????
2017-08-29
展开全部
问题中列2有空值,空值不能直接参与比较,所以比较的时候先转换成一个特殊的值,然后再进行比较。下列语句是,当列2的是空值时,转换成一个空格。
查询列1中的值不同于列2值的记录:
select * from 表 where 列1 not in (select nvl(列2,‘ ’) from 表);
查询列2中的值不同于列1值的记录:
select * from 表 where nvl(列2,‘ ’) not in (select 列1 from 表);
查询列1中的值不同于列2值的记录:
select * from 表 where 列1 not in (select nvl(列2,‘ ’) from 表);
查询列2中的值不同于列1值的记录:
select * from 表 where nvl(列2,‘ ’) not in (select 列1 from 表);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |