日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

db2 空值转换函数_Hive常见函数的使用

發布時間:2025/3/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 db2 空值转换函数_Hive常见函数的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

hive函數

1.關系函數

  • 等值比較?=語法:A=B?
    如果表達式A和表達式B相等,則為TRUE;否則為FALSE

  • 不等值比較?<>
    語法:A <> B
    如果表達式A為null,或者表達式B為null,返回null;如果表達式A和表達式B不相等,則為true;否則為false

  • 小于比較?<
    語法:A < B?
    如果表達式A為null,或者表達式B為null,返回null;如果A小于表達式B,則為true;否則為false

  • 小于等于(<=)、大于(>)、大于等于(>=)同上

  • 空值判斷?is null?
    語法:A is null?
    如果表達式A的值為null,則為true;否則為false

  • 非空判斷?is not null?
    語法:A is not null?
    如果表達式A的值為null,則為false;否則為true

  • like比較 like?
    語法:A [not] like B?
    如果字符串A?或者字符串B?為null,則返回null;如果字符串A符合表達式B的正則語法,則為true;否則為false。B中字符"_"表示任意單個字符,而字符“%”表示任意數量的字符注意:對特殊字符進行轉義時,注意要使用兩個反斜杠\ .?

  • Java的like/regexp操作:rlike/regexp
    語法:A rlike/regexp B?
    如果字符串A或者字符串B為null,則返回null;如果字符串A符合Java正則表達式B的正則語法,則為TRUE;否則為false
    例:select * from dwd.tb_dwd_test where client_name rlike/regexp '^W *'注意:通配符‘%’在rlike/regexp函數中,只能使用一個‘%’字符,''也只能匹配一個''字符,即'%'和'_'不是通配符,此時通配符為''*

2.日期函數

  • unix時間戳轉日期函數:from_unixtime
    語法:from_unixtime(bigint unixtime[,string format])
    轉化unix時間戳(從1970-01-01 00:00:00 UTC到指定時間的秒數)到當前時區的時間格式舉例:select from_unixtime(1323308943,'yyyyMMdd') from dual;?##返回值為20111208

  • 獲取當前unix時間戳函數?unix_timestamp
    語法:unix_timestamp()
    獲得當前的時間戳舉例:select unix_timestamp() from dual;?##返回值為1323309615?

  • 日期轉unix時間戳函數:unix_timestamp?
    語法:unix_timestamp(string date)?
    轉換格式為'yyyy-MM-dd HH:mm:ss' 的日期到unix時間戳。如果轉換失敗,則返回0。舉例:select unix_timestamp('2011-12-07 13:01:03') from dual;?##返回值為1323234063

  • 指定格式日期轉unix時間戳函數:unix_timestamp?
    語法:unix_timestamp(string date,string pattern)
    轉換pattern格式的日期到unix時間戳。如果轉化失敗,則返回0舉例:select unix_timestamp('20111207 13:01:03','yyyyMMdd HH:mm:ss') from dual;?##返回值為1323234063?

  • 日期時間轉日期函數:to_date?
    語法:to_date(string timestamp)?
    返回日期時間字段中的日期部分?select to_date('2011-12-08 10:03:01') from dual;?##返回值為2011-12-08

  • 日期轉年函數:year
    語法:year(string date)
    返回日期中的年

  • 日期轉月函數:month?
    語法:month(string date)
    返回日期中的月份

  • 日期轉天函數:day?
    語法:day(string date)?
    返回日期中的天

  • 日期轉小時函數?hour?
    語法:hour(string date)?
    返回日期中的小時

  • 日期轉分鐘函數?minute?
    語法:minute(string date)?
    返回日期中的分鐘?舉例:select minute('2011-12-08 10:03:01') from dual;?##返回值為3?

  • 日期轉秒函數?second?
    語法:second(string date )?
    返回日期中的秒

  • 日期轉周函數?weekofyear?
    語法:weekofyear(string date)
    返回日期在當前的周數

  • 日期比較函數?datediff?
    語法:datediff(string enddate,string startdate)?
    返回結束日期減去開始日期的天數舉例 :select datediff('2019-04-01','2019-04-02') from dual;## 返回值為1?

  • 日期增加函數?date_add
    語法:date_add(string startdate,int days)?
    返回開始日期startdate增加days天后的日期舉例:select date_add('2019-04-08',10) from dual;?## 返回值為2019-04-18

  • 日期減少函數?date_sub?
    語法:date_sub(string strartdate,int days)?
    返回開始時間startdate減少days天后的日期舉例:select date_sub('2019-04-18',10) from dual;?## 返回值:2019-04-08?

條件函數

  • if函數?
    語法 :?if(boolean testCondition, T valueTrue, T valueFalseOrNull)
    說明:當條件testCondition為TRUE時,返回valueTrue;否則返回valueFalseOrNull
    舉例:select if(app_name = 'group',object_id,null) as deal_id from dw.topic_order where partition_pay_date = '2016-04-22'?等效于select case when app_name = 'group' then object_id else null end as deal_id from dw.topic_order where partition_pay_date = '2016-04-22'

  • 非空查找函數 coalesce?
    語法:coalesce(t v1,t v2 ,...)?
    說明:返回參數中的第一個非空值;如果所有值都為null,那么返回null
    舉例:select coalesce(uuid,'') as uuid from dw.topic_order where partition_pay_date = '2016-04-22'?
    等效于Oracle中的nvl函數有兩個參數時候,nvl函數是有這個函數延伸而來

  • 條件判斷函數 case?
    語法:CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END?
    說明:如果 a 等于 b ,那么返回 c ;如果 a 等于 d ,那么返回 e ;否則返回 f 注意:相對而言,case when是最全的條件函數,可以用于判斷多種條件;次之是if函數,屬于二分判斷;最后是coalesce函數,該函數只能對空值和非空進行判斷?注意:case when函數是有優先順序的,如果如果第一個條件成立,則返回第一個的值,此時若滿足第二個條件,則數值不發生改變

總結

以上是生活随笔為你收集整理的db2 空值转换函数_Hive常见函数的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。