-- hive
SELECT E.* ,
CASE WHEN pmod(datediff(to_date(ymd),'2018-01-01')+1,7) IN ('0' , '6') THEN '周末' ELSE '周内' END AS WEEK_FLAG
FROM E
-- Oracle
select case when to_char(data_date,'d')in('7','1')then '周末' else '周内' end
from dual;
-- hive
SELECT E.* ,
CASE WHEN pmod(datediff(to_date(ymd),'2018-01-01')+1,7) IN ('0' , '6') THEN '周末' ELSE '周内' END AS WEEK_FLAG
FROM E
-- Oracle
select case when to_char(data_date,'d')in('7','1')then '周末' else '周内' end
from dual;