oracle/mysql中的“不等于“ <> != ^= is not一样吗

    oracle mysql 中的“不等于“ <> != ^= is not

    oracle

    oracle中的 != 与 <> 和 ^= 都是不等于,逻辑上没有区别。官方推荐 <>,因为跨平台,可移植,兼容性强。

    不等于,隐含着不为空,即is not null。

    name <> 'Mike',会把名字不是Mike并且不为空的数据查出来。

    mysql

    mysql中,<> 和 != 相同。

    is not用于判空,即 is not null,不是空的。select * from t where id is not null; 翻译成中文就是,从t表中查出id不是空的数据。这也是为什么当初专门为null发明is not这么一种表达方式。因为“等于空”这种说法,确实不严谨。某个值,可以等于1,等于2,但不应该说等于空,因为它就是空的。

    oracle中的!=与<>和^=

    != 、 <>、^= 三个符号都表示“不等于”的意思,在逻辑上没有本质区别

    但是要主义的是三个符号在表达“不等于”含义的同时,隐含一个“不为空 is not null”的前提,所以使用时null会被过滤掉。

    例如数据库三条数据

    姓名性别
    张三
    李四
    王五

    但是官方更推荐“<>”的写法,因为跨平台可移植性更强。

    以上就是oracle/mysql中的“不等于“ <> != ^= is not一样吗的详细内容,更多请关注其它相关文章!