Every lesson I learn today

배운 것을 차곡차곡 기록하는 주니어 기획자의 아카이브

데이터

[SQL] 여러개의 값에 대한 조작 (HIVE 기준)

임우주 2020. 11. 22. 15:56

FROM_UNIXTIME

이 함수는 유닉스 타임시간을 YYYY-MM-DD HH:MM:SS(또는 YYYYMMDDHHMMSS.uuuuuu) 로 반환

 SELECT FROM_UNIXTIME(unix_timestamp);
 SELECT FROM_UNIXTIME(unix_timestamp, format);
 SELECT FROM_UNIXTIME(13191184471);
      -> 2011-10-20 22:47:48

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP());
      -> 2011-10-20 22:47:48

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP())+0;
      -> 20111020224748.000000
 SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y (%M) %D %h:%i:%s');
      -> 2011 (October) 20th 10:53:01

 

UNIX_TIMESTAMP()

지정한 Date형식(일반적인 시간)을 Unixtime 으로 변환하는 함수.

현재 시간을 Unixtime으로 구할 수 있음. 

 

현재시간 출력

select unix_timestamp(), from_unixtime(unix_timestamp()), current_date();;
-> 1606034795, 2020-11-22 17:46:35 , 2020-11-21T15:00:00.000Z

기본적으로 timestamp는 날짜 단위, unix는 숫자

 

 

시간 관련 함수

DAYOFWEEK(date) 요일을 정수로 반환(1=일요일, 7=토요일)
DAYOFMONTH(date): 월의 몇번째 날인지를 정수로 반환
DAYOFYEAR(date) 년중 몇번째 날인지를 정수로 반환
MONTH(date)  월을 1∼12의 정수로 반환
MONTHNAME(date) 월 이름을 문자로 반환
YEAR(date) 년도를 4자리 정수로 반환

 

SPLIT

CAST(split(ip,'//.')[0] AS int) AS ip_part_!

SELECT split_part(address, '@', 2)

 

SQL 실습 할 수 있는 곳 : www.w3schools.com/sql/trysql.asp?filename=trysql_select_all