国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【SQL相關(guān)】Hive中空值與Null的判斷及處理

這篇具有很好參考價(jià)值的文章主要介紹了【SQL相關(guān)】Hive中空值與Null的判斷及處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.空值與null的區(qū)別

????????null沒(méi)有被分配任何值或?qū)ο?,表示這個(gè)字段沒(méi)有被賦值或者值是未知的,占空間,不會(huì)被count()函數(shù)統(tǒng)計(jì);

????????空值表示這個(gè)字段被賦了一個(gè)空的值,不占空間,會(huì)被count()函數(shù)統(tǒng)計(jì)。

2.空值與null的判斷

????????null和''(空值)在SQL中的篩選過(guò)濾條件是不一樣的,is null 識(shí)別不了 '',同樣地,'' 也識(shí)別不了 null 。

2.1 null判斷

--篩選null
select * from table where a is null
--篩選非null
select * from table where a is not null

2.2 空值判斷

--篩選空值
select * from table where a = ''
--篩選非空值
select * from table where a <> ''

--或者

--篩選空值
select * from table where length(a) = 0
--篩選非空值
select * from table where length(a) <> 0

2.3 null與空值判斷

--篩選null與空值
select * from table where a is null and a = ''
--篩選非null與非空值
select * from table where a is not null and a <> ''

--或者

--篩選null與空值
select * from table where nvl(a,'') = ''
--篩選非null與非空值
select * from table where nvl(a,'') <> ''

3.空值與null的處理

3.1 null處理

nvl函數(shù)

nvl(expr1,expr2)

例如:nvl(a,0)

如果a字段值為null,那么null轉(zhuǎn)化為0這個(gè)值,如果a字段值不為null,則顯示a本來(lái)的值。

拓展--nvl2(expr1,expr2,expr3)

例如:nvl2(a,0,1)

如果a字段值為null,那么null轉(zhuǎn)化為0這個(gè)值,如果a字段值不為null,則轉(zhuǎn)化為1這個(gè)值。

3.2 空值處理

????????hive本身沒(méi)有replace函數(shù),可以用translate和regexp_replace函數(shù)代替。

translate(expr1,expr2,expr3)

例如:translate(a,'',0)

將a字段的空值替換為0

regexp_replace(expr1,正則表達(dá)式,expr2)

例如:regexp_replace(a,"[\\s]+|[\u3000]+",0)

將a字段的空值替換為1([\\s]+|[\u3000]+是正則)


????????對(duì)于null的處理其實(shí)也可以使用translate和regexp_replace函數(shù)。

translate(a,null,0)

regexp_replace(nvl(a,""),"[\\s]+|[\u3000]+",0)

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-755611.html

到了這里,關(guān)于【SQL相關(guān)】Hive中空值與Null的判斷及處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [SQL Server 2008R2] 有關(guān)于判斷表、字段、存過(guò)等元素是否存在相關(guān)SQL寫法

    [SQL Server 2008R2] 有關(guān)于判斷表、字段、存過(guò)等元素是否存在相關(guān)SQL寫法

    查詢普通表是否存在可以使用object_id函數(shù),下面的例子是查詢表“t_test”是否存在之后從而進(jìn)行其他的DLL操作: ? 臨時(shí)表同樣可以用object_id但是表名要記得加上庫(kù)名和表空間: 或者 以上這個(gè)條件自行發(fā)揮,我這邊使用的是like語(yǔ)句,判斷的是只要是#temp開(kāi)頭的臨時(shí)表存在。 有

    2023年04月26日
    瀏覽(217)
  • Hive SQL判斷一個(gè)字符串中是否包含字串的N種方式及其效率

    這是個(gè)常見(jiàn)需求,某個(gè)表tab中,需要判斷某個(gè)string類型的字段中,哪些數(shù)據(jù)含有一個(gè)子串。以下給出6種方案,并給出效率對(duì)比。 可以使用regexp_extract(subject, pattern, index)函數(shù)來(lái)提取字符串中匹配指定正則表達(dá)式的字串。要判斷一個(gè)字符串中是否包含字串\\\"ABCD;\\\",可以使用如下代

    2024年01月24日
    瀏覽(28)
  • 1/50 hive sql 日期處理函數(shù)

    目錄 一、獲取當(dāng)前時(shí)間 二、獲取指定時(shí)間 三、轉(zhuǎn)換時(shí)間格式 【1】to_date(string timestamp) 【2】date_format(date string timestamp,string format) 【3】from_unixtime(bigint unixtime,string format) 【4】unix_timestamp(date string timestamp,string pattern)? 【5】其余格式的指定轉(zhuǎn)換 regexp_replace()、from_unixtime(unix_ti

    2023年04月25日
    瀏覽(33)
  • Hive SQL 中ARRAY或MAP類型數(shù)據(jù)處理:lateral view explode()/posexplode()——行轉(zhuǎn)列函數(shù)

    Hive SQL 中ARRAY或MAP類型數(shù)據(jù)處理:lateral view explode()/posexplode()——行轉(zhuǎn)列函數(shù)

    前言:在對(duì)表數(shù)據(jù)進(jìn)行批量處理過(guò)程中,常常碰上某個(gè)字段是一個(gè)array或者map形式的字段,一列數(shù)據(jù)的該字段信息同時(shí)存在多個(gè)值,當(dāng)我們需要取出該數(shù)組中的每一個(gè)值實(shí)現(xiàn)一一對(duì)應(yīng)關(guān)系的時(shí)候,可以考慮使用lateral view explode()/posexplode() 進(jìn)行處理。 一、提要:explode()本身是

    2024年02月04日
    瀏覽(28)
  • Golang 中空的切片轉(zhuǎn)化成 JSON 后變?yōu)?null 的問(wèn)題如何解決?

    目錄 問(wèn)題 原因 小結(jié) 在 Golang 中,經(jīng)常需要將其他類型(例如 slice、map、struct 等類型)的數(shù)據(jù)轉(zhuǎn)化為 JSON 格式。有時(shí)候轉(zhuǎn)化的結(jié)果并不是預(yù)期中的,例如將一個(gè)空的切片轉(zhuǎn)化為 JSON 時(shí),會(huì)變成\\\"null\\\",而并非預(yù)期的\\\"[]\\\"。示例代碼如下: 運(yùn)行示例看下結(jié)果: 結(jié)果輸出的值為 “

    2024年02月07日
    瀏覽(18)
  • 【SQL刷題】Day10----SQL高級(jí)過(guò)濾函數(shù)專項(xiàng)練習(xí)

    【SQL刷題】Day10----SQL高級(jí)過(guò)濾函數(shù)專項(xiàng)練習(xí)

    博主昵稱:跳樓梯企鵝 博主主頁(yè)面鏈接: 博主主頁(yè)傳送門 博主專欄頁(yè)面連接: 專欄傳送門--網(wǎng)路安全技術(shù) 創(chuàng)作初心:本博客的初心為與技術(shù)朋友們相互交流,每個(gè)人的技術(shù)都存在短板,博主也是一樣,虛心求教,希望各位技術(shù)友給予指導(dǎo)。 博主座右銘:發(fā)現(xiàn)光,追隨光,

    2023年04月09日
    瀏覽(23)
  • SQL | 過(guò)濾數(shù)據(jù)

    SQL | 過(guò)濾數(shù)據(jù)

    4.1-使用WHERE子句 數(shù)據(jù)根據(jù) WHERE 子句中指定的搜索條件進(jìn)行過(guò)濾。WHERE 子句在表名( FROM 子句)之后給出。 上述語(yǔ)句查詢價(jià)格為3.49的行,然后輸出名字和價(jià)格兩列。 顯示的結(jié)果可能是 3.49、 3.490、 3.4900等。出現(xiàn)這樣的情況,往往是因?yàn)?DBMS 指定了所使用的數(shù)據(jù)類型及其默認(rèn)

    2024年02月13日
    瀏覽(26)
  • SQL | 高級(jí)數(shù)據(jù)過(guò)濾

    SQL | 高級(jí)數(shù)據(jù)過(guò)濾

    通過(guò)組合WHERE子句,建立功能更強(qiáng)的檢索語(yǔ)句。 5.1-組合WHERE子句 前面寫的都是單一條件下的WHERE子句,SQL語(yǔ)句允許給出多個(gè)WHERE子句來(lái)組合檢索,這些WHERE子句通過(guò)AND子句或者OR子句進(jìn)行連接。 操作符(operator) 用來(lái)聯(lián)結(jié)或改變WHERE子句中的子句的,也稱為邏輯操作符(

    2024年02月13日
    瀏覽(23)
  • Oracle sql sum函數(shù)返回null,默認(rèn)值0

    在Oracle SQL中,當(dāng)你使用 SUM 函數(shù)對(duì)一組值進(jìn)行求和時(shí),如果這組值中包含 NULL ,那么 SUM 函數(shù)將忽略這些 NULL 值,并返回非 NULL 值的總和。 如果你希望在 SUM 函數(shù)返回 NULL 時(shí)有一個(gè)默認(rèn)值,你可以使用 COALESCE 或 NVL 函數(shù)。 使用 COALESCE 函數(shù): 使用 NVL 函數(shù): 在這兩個(gè)例子中,

    2024年01月16日
    瀏覽(18)
  • 如何使用SQL系列 之 如何在SQL中使用比較運(yùn)算符和IS NULL運(yùn)算符

    在某些 結(jié)構(gòu)化查詢語(yǔ)言 (SQL)語(yǔ)句中, WHERE 子句可以用來(lái)限制給定操作會(huì)影響哪些行。他們通過(guò)定義特定的條件來(lái)做到這一點(diǎn),這些條件被稱為 搜索條件 ,每一行必須滿足才會(huì)受到影響。搜索條件由一個(gè)或多個(gè) 謂詞 組成,它們是特殊的表達(dá)式,計(jì)算結(jié)果為“true”、“false”

    2024年02月10日
    瀏覽(38)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包