Hive函式Demo1 基礎常用函式

2021-10-23 10:33:23 字數 3535 閱讀 8194

-- 檢視說明

desc

function

extended 函式名

/**/。

-- 返回時間戳

select unix_timestamp();

select unix_timestamp(

'2019-01-01 01:01:01');

select unix_timestamp(

'20190101 010101'

,'yyyymmdd hhmmss');

-- 時間戳轉時間

select from_unixtime(

1546304461

,'yyyy-mm-dd hh:mm:ss');

-- 返回當前日期

select

current_date

;-- 返回日期部分

select to_date(

'2020-02-03 04:05:06');

-- 獲取年、月、日、時、分、秒

select

year

('2020-02-03 04:05:06');

select

month

('2020-02-03 04:05:06');

select

day(

'2020-02-03 04:05:06');

select

hour

('2020-02-03 04:05:06');

select

minute

('2020-02-03 04:05:06');

select

second

('2020-02-03 04:05:06');

-- 返回當年第幾周【最後一周算明年】

select weekofyear(

'2020-01-01');

select weekofyear(

'2020-02-03 04:05:06');

-- 返回當月第幾天

select dayofmonth(

'2020-02-03');

select dayofmonth(

'2020-02-03 04:05:06');

-- 返回兩個日期間的月份 前-後 返回小數

select months_between(

'2020-02-03 04:05:06'

,'2020-03-05 04:05:06');

-- 月加減

select add_months(

'2020-02-03',1

);select add_months(

'2020-02-03',-

1);-- 日期相差天數 前-後

select datediff(

'2020-02-03 04:05:06'

,'2020-03-05 04:05:06');

-- 日期加減

select date_add(

'2020-02-03',1

);select date_add(

'2020-02-03',-

1);select date_sub(

'2020-02-03',1

);-- 返回當月最後一天

select last_day(

'2020-02-03');

/* 取整函式

*/-- 四捨五入

select

round

(1.5);

select

round

(1.4);

select

round

(1.445,2

);-- 向上取整

select ceil(

1.1)

;-- 向下取整

select floor(

1.9);/*

字串相關

*/-- 大小寫轉換

select uppper(

'abc');

select lower(

'abc');

-- 長度

select length(

'abc');

-- 去除前後空格

select trim(

' abc ');

-- 向作/右補齊指定長度

select lpad(

'abc',5

,'1');

select rpad(

'abc',5

,'1');

-- 正則替換 引數1 要匹配的字串,引數2 正規表示式,引數3 替換字元

select regexp_replace(

'hello world123'

,'(\\d+)'

,'!');

-- 擷取字串

select substring(

'abcdefg',5

,1);

/* 集合相關操作

*/-- 集合中的元素

select size(array(

'b',

'c',

'd'));

-- 返回map中的key\value

select map_keys();

select map_values();

-- 判斷集合中是否包含某個元素 返回boolean

select array_contains(array(

'a',

'b',

'c')

,'a');

-- 將array中的元素排序

select sort_array(array(

'c',

'b',

'a'));

/* 其他常用函式【重點】

*/-- nvl函式 判斷引數1是否為null,為null返回 引數2的值

select nvl(

null

,'bla');

-- 字串拼接 有乙個引數為null 返回null

select concat(

'a',

'b',

'c')

;select concat(

'a',

null

,'c');

-- 字串拼接指定分割 ,可傳入陣列

select concat_ws(

'.',

'a',array(

'b',

'c',

'd'));

-- 判斷函式

selectif(

true,0

,1);

-- 判斷函式2 相當於decode

select

case

1when

1then

'a'else

'b'end

;select

case

1when

2then

'a'else

'b'end

;

程式設計解習題Demo1

習題公布 如果可以手算出來得朋友我佩服,但小弟我是真算不出來。引言 今天朋友在群裡發了乙個。看過之後不假思索得給出答案 都是0 但是還是得經過計算之後才能驗證 0 是否是正確答案。過程 哈哈,正經得計算一下 擼起來 首先有三個變數 x y z 邏輯應該是 100x 10x y 100x 10z z ...

團隊專案 動作遊戲demo(1)

第一次是做團隊專案。並且還是擔任組長很是緊張,雖然都是同學,但是還是緊張。我覺得我這個組長幹的好累,不知道大型專案是不是也要這麼累。最開始任務的分配,要按照每個人對於unity引擎,的熟練程度分配。針對不同情況要有不同對策。我在專案初期,沒有選擇框架,而是選擇了將人物的屬性,boss的共有屬性,公共...

wz框架登入功能詳解 demo1

這篇文章不是為了介紹怎麼使用,而是分析已存在的登入流程,以及之後再正式開發時要做的相應調整。wz框架 先幫技術大大宣傳一下 介紹 wz框架介紹原文線上體驗 線上體驗github vue framework wz 年初做集團內部專案的時候開始正式應用vue,在簡單看過 之後覺得方便開發,便修修改改。因...