db2 空值轉換函數_Hive常見函數的使用

94033ce112e42ae03276986b65cb880b.gif

hive函數

1.關系函數

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

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

  • 小于比較?<
    語法:A < B?
    如果表達式Anull,或者表達式Bnull,返回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;否則為falseB中字符"_"表示任意單個字符,而字符“%”表示任意數量的字符注意:對特殊字符進行轉義時,注意要使用兩個反斜杠\ .?

  • Java的like/regexp操作:rlike/regexp
    語法:A rlike/regexp B?
    如果字符串A或者字符串Bnull,則返回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函數是有優先順序的,如果如果第一個條件成立,則返回第一個的值,此時若滿足第二個條件,則數值不發生改變

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530184.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530184.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530184.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

中級軟件測試筆試題100精講_匯集上千位軟件測試精英面試筆試題,最全面的題型都在這!...

知己知彼&#xff0c;才能百戰不殆測試員想要在競爭激烈的職場中擁有一席之地&#xff0c;就需要提前做好準備。前人栽樹&#xff0c;后人乘涼一次面試就能入職自己心儀的公司&#xff0c;就需要通過“前人”積累的面試題來了解面試官的“套路”&#xff0c;通過不斷的優化答案…

學考語言成績c對高考有影響嗎_三大影響!考生務必上心,最近正在進行的學考對升學很重要...

閱讀關鍵詞&#xff1a;【填報技巧】【新高考】近日(1月6-8日)&#xff0c;高中生們正在進行2021年1月普通高中學業水平合格性考試(也就是大家普遍說的“學考”&#xff0c;又稱“合格性考試”)。學考成績有哪些用途&#xff1f;跟高考錄取到底有什么關系&#xff1f;……今天我…

三次握手和四次揮手圖解_TCP三次握手和四次揮手詳解

作者&#xff1a;雨點的名字來源&#xff1a;https://www.cnblogs.com/qdhxhz/p/8470997.htmlTCP有6種標示:SYN(建立聯機) ACK(確認) PSH(傳送) FIN(結束) RST(重置) URG(緊急)一、TCP三次握手第一次握手客戶端向服務器發出連接請求報文&#xff0c;這時報文首部中的同部位SYN1…

ubuntu修改新增用戶的目錄_Linux 用戶、用戶組添加修改刪除(ubuntu、centos)

一、LINUX(UBUNTU/CENTOS)用戶添加刪除修改1、建用戶&#xff1a;adduser web #新建web用戶useradd web #添加web 用戶passwd web #給web用戶設置密碼useradd web -g admin -n -m #新建web用戶并指定用戶組為 admin用戶組,并自動建立登錄目錄passwd web #給web 用戶設置密碼use…

讀excel_基礎 | Excel中單元格的引用方式,讀這篇就夠了!

最近推送了幾個Excel中最難的函數&#xff0c;哀嚎遍野&#xff0c;太難了……所以今天我們來“從萬丈高樓平地起”的平地講起&#xff01;搞懂Excel單元格引用方式&#xff0c;是保證公式準確最最基本的條件&#xff01;單元格引用方式整體分三種&#xff1a;相對引用(A1)絕對…

天融信防火墻重置配置_天融信防火墻配置手冊

天融信防火墻配置指南一、對象與規則現在大多防火墻都采用了面向對象的設計。針對對象的行為進行的快速識別處理&#xff0c;就是規則。比如&#xff1a;甲想到A城市B地點。由這個行為就可以制定一些規則進行約束&#xff0c;例如&#xff1a;1)用戶身份識別&#xff0c;是不是…

32匯編語言程序說明_Linux 匯編語言學習--編譯和鏈接

上次我們提到了匯編語言的兩種格式&#xff0c;Intel 和 AT&T 格式&#xff0c;今天講的是對應兩種編譯器的一些使用。我們知道&#xff0c;編譯器就是一個將一種程序語言翻譯成另外一種語言的程序。編譯的過程其實共有5個流程&#xff1a;詞法分析、語法分析、語義分析和中…

占用系統資源測試_高頻性能測試面試題15道

1、解釋常用的性能指標名稱與具體含義性能測試 通過測試工具模擬多種正常、峰值及異常負載條件來對系統的各項性能指標進行測試。驗證軟件系統是否能夠達到用戶提出的性能指標&#xff0c;發現系統中存在的性能瓶頸并加以優化。性能指標分為兩個方面&#xff1a;系統指標&#…

ensp1.3.00.100用哪個virtualbox_virtualBox使用 Ubuntu18.0.4

一、視圖進入縮放模式&#xff0c;虛擬機上方菜單欄無法顯示&#xff1f;熱鍵c&#xff0c;恢復。 熱鍵默認為右邊的ctrl鍵。開啟增強功能&#xff1f;打開虛擬機后&#xff0c;點擊上方設備-->安裝增強功能。虛擬機里面會出現識別到光盤。先掛載光盤到指定路徑&#xff1a;…

動態ram依靠什么存儲信息_處理器內存系統1(ROM,RAM,數據存儲順序)

本篇文章主要介紹處理器中存儲器&#xff1a;ROM和RAM以及數據在內存中的存儲順序&#xff1a;大/小端(Little/Big Endian)。只讀存儲器(ROM)ROM(Read Only Memory)用來存儲和保存數據。ROM數據不能隨意更新&#xff0c;但是在任何時候都可以讀取。即使是斷電&#xff0c;ROM也…

python中row的用法_關于Python中openpyxl使用iter_rows()的方法

之前已經對iter函數的用法有過講解,記憶遺忘的小伙伴可以重新回顧一遍。今天就iter函數的拓展,講講openpyxl中導入iter_rows()的方法。 當我們使用以下代碼: import openpyxl as op ms = op.load_workbook(mtest.xlsx) ws = ms.active op.worksheet.Worksheet.iter_rows() 然…

市直系統推薦市級以上表彰的_推薦市級以及以上教學方面表彰的細則

推薦市級以及以上教學方面表彰的細則為了客觀、公正、合理地評價教師的德、才表現和工作實績&#xff0c;用制度來激勵、督促全體教職工提高政治和業務索質&#xff0c;認真履行好自身工作職責。避免人為因素&#xff0c;增強評優的透明度&#xff0c;有利于調動廣大教職工工作…

react全局狀態管理_react狀態管理redux

Redux(上)結合阮老師的技術博客&#xff0c;將自己吸收到的內容做了個整理&#xff1a;曾經有人說過這樣一句hua : 如果你不知道是否需要Redux&#xff0c;那就是不需要它。從組建層面考慮&#xff0c;什么樣子的需要redux&#xff1b;某個組件的狀態需要共享&#xff0c;某個狀…

edges2shoes數據集下載_edges2cats

edges2cats是一款十分有趣味的生成貓咪的游戲&#xff0c;在這款游戲是以多種不同的圖形相結合&#xff0c;來生成你所想要生成的畫面&#xff0c;游戲的玩法非常的有趣&#xff0c;感興趣的可以試玩哦&#xff01;edges2cats游戲怎么玩 玩法介紹首先清除畫面&#xff0c;根據你…

單片機機器周期怎么計算公式_單片機定時器周期計算公式

定時器是單片機的重要功能模塊之一&#xff0c;在檢測、控制領域有廣泛應用。定時器常用作定時時鐘&#xff0c;以實現定時檢測&#xff0c;定時響應、定時控制&#xff0c;并且可以產生ms寬的脈沖信號&#xff0c;驅動步進電機。定時和計數的最終功能都是通過計數實現&#xf…

mac 下mysql工具_mysql之工具的使用總結(mac版本)

13.mysql Mac終端操作12.MySql在Mac上的安裝與配置詳解&#xff1b;11.mac下安裝mysql5.7.18&#xff0c;連接出現Access denied for user rootlocalhost (using password: YES)13.mysql Mac終端操作1.啟動mysql &#xff1a;brew services start mysql2.登陸mysql : mysql -u…

sqoop同步時間戳到mysql_在sqoop導入中使用24小時時間戳

我想從使用自由格式查詢的oracle導入數據&#xff0c;并且需要以24小時格式存儲時間戳。在sqoop導入中使用24小時時間戳sqoop import --connect jdbc:oracle:thin:(server credntials) \--username ***** --password ***** \--query "select emp_uid, emp_name, salary, t…

mysql權限系統的工作原理_Mysql權限系統工作原理

MySQL權限系統保證所有的用戶可以嚴格地做他們假定被允許做的事情。當你連接一個MySQL服務器時&#xff0c; 你的身份由你從那連接的主機和你指定的用戶名來決定&#xff0c;系統根據你的身份和你想做什么來授予權限。MySQL在認定身份中考慮你的主機名和用戶名字&#xff0c;是…

mysql日志文件的類型和作用_Mysql日志文件和日志類型介紹_MySQL

日志文件類型MySQL有幾個不同的日志文件&#xff0c;可以幫助你找出mysqld內部發生的事情&#xff1a;日志文件記入文件中的信息類型錯誤日志記錄啟動、運行或停止mysqld時出現的問題。查詢日志記錄建立的客戶端連接和執行的語句。更新日志記錄更改數據的語句。不贊成使用該日志…

ruby mysql 驅動_windows下Rails安裝MySql驅動的配置

1.安裝ruby這我就不廢話了&#xff0c;安裝很簡單&#xff0c;網上資料也很多。安裝完后再環境變量path里加入D:ruby\bin(視你的安裝路徑了)安裝完后在命令行輸入ruby -v&#xff0c; 會顯示版本號&#xff0c;表示安裝成功&#xff0c;我的版本號是1.8.62.安裝rails我建議去官…