我是靠谱客的博主 冷静蜡烛,最近开发中收集的这篇文章主要介绍db2 null转0_SQL中的NULL值、空值以及类型转换那些事,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

d591348a533f1397e8712151436e4cd4.png

我们平常写SQL中遇到过滤空值或者NULL值的处理,尤其是在非关系型数据库中没有唯一键和默认值的约束要求,很容易出现NULL值或者空值。很多时候我们总是会出现困扰,到底是该使用=' ' 还是用 is NULL呢?

另外我们一个多表JOIN的时候在这个SQL上跑的好好的,一旦换了一个SQL执行引擎就提示我们JOIN两边的数据类型不一致,这些都是为什么呢?

今天就带大家一起领略一下各类SQL中空值以及类型转换那些坑。

空值和NULL值

一、底层字段类型为字符型(string,varchar,char):

hive:如果底层存储的是NULL值,我们必须要用 is NULL来判断,如果底层存储的是' ',则需要使用 =' '来判断。在hive中NULL默认存储为'N',' '存储还是' '。

presto:与hive保持一致。

spark:与hive保持一致。

impala:与hive保持一致。

mysql:使用上与hive使用保持一致。

二、底层字段是(int,bigint)

hive:由于int类型的数据在hive中默认存储为'N',所以查询的时候必须要使用is NULL才能取出空的值。

presto:与hive

最后

以上就是冷静蜡烛为你收集整理的db2 null转0_SQL中的NULL值、空值以及类型转换那些事的全部内容,希望文章能够帮你解决db2 null转0_SQL中的NULL值、空值以及类型转换那些事所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部