当前位置: 首页> 健康> 科研 > 天元建设集团有限公司财报_婚纱照官网_seo网站关键词_seo解释

天元建设集团有限公司财报_婚纱照官网_seo网站关键词_seo解释

时间:2025/7/17 14:39:28来源:https://blog.csdn.net/wufagang/article/details/124866723 浏览次数:0次
天元建设集团有限公司财报_婚纱照官网_seo网站关键词_seo解释

在进行hive SQL查询数据的时候,where条件中使用了in或者not in,但是该值内有null空。

这时,无论是in还是not in,空值都不会进入该条件内,但是使用not in的时候只是希望把自己不想要的数据给排除掉,这时会同步把为null的数据也进行排除掉了。所以,在写not in或者in的时候,如果希望保留为null的数据。最好加一条

where (col not in (1,2,3,4) or col is null)

同样,进行先join 后where操作的时候,同样要注意值为null的情况

例如,在 select a,b from t1 join t2 on t1.id = t2.id where a <= 10 此时,为null的也会被全部排除,如果希望留下为null的数据。则也需要加上一个条件。 a<= 10 or a is null。

或者用val() 处理一个默认值

为空的时候

我们平时使用

where  name is not null and name <> ''

这个是我经常这么写的,原来都是遇到的string类型,如论是id还是什么 我一般都设置成string类型,因此也不会遇到问题

最近在做项目的时候遇到 int bigint类型的 习惯这么写

where  id is not null and id <> ''

presto 引擎查询是没问题,但是用spark引擎查询就不行查询不到数据

这个问题被搞了一天

spark引擎会把。id这种 int 类型的 转化成double,但是为啥会这样 不是很清楚

and cast(t1.product_panorama_id  as string) <> ''

在这里插入图片描述

另外一个
案例:Spark/Hive中‘String=数值类型’丢失精度问题

关键字:天元建设集团有限公司财报_婚纱照官网_seo网站关键词_seo解释

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: