Examples - 5/11/2015 12/31/2014 5/11/2015
select optin_date,cell_phone_date,optin_date_stamp from datetest;
select
to_date(from_unixtime(UNIX_TIMESTAMP(trim(Optin_Date_Stamp), 'MM/dd/yyyy'))),
to_date(from_unixtime(UNIX_TIMESTAMP(trim(cell_phone_date), 'MM/dd/yyyy'))) ,
to_date(from_unixtime(UNIX_TIMESTAMP(trim(optin_date_stamp), 'MM/dd/yyyy')))
FROM datetest;
----------------------------------------------------------------------------------------------------------
/*
3/10/2015 3:04:05 AM
4/11/2015 4:05:06 AM
5/13/2015 5:06:07 AM
5/31/2016 5:18:19 PM
4/29/2016 4:17:18 PM
10/20/2015 10:11:12 AM
*/
select timestamp(from_unixtime(UNIX_TIMESTAMP(trim(a), 'MM/dd/yyyy hh:mm:ss'))) FROM datetest2;
---------------------------------------------------------------------------------------------------------
2017-01-03T23:55:33.000Z
select timestamp(from_unixtime(unix_timestamp(regexp_replace(concat(concat(concat(substr(standardtimestamp,1,10),substr(standardtimestamp,12,2)),
substr(standardtimestamp,15,2)),substr(standardtimestamp,18,2)),'-',''),'yyyymmddhhmmss'))) as standardtimestamp from kdf_sample;
create table datetest(date1 string,date2 string,date3 string,date4 string) row format delimited fields terminated by ','
location '/user/dheerendra.a.yadav/testdata1/';
select
to_date(from_unixtime(UNIX_TIMESTAMP(trim(date1),'MM/dd/yyyy'))) as date1,
to_date(from_unixtime(UNIX_TIMESTAMP(trim(date2),'MM/dd/yyyy'))) as date2,
timestamp(from_unixtime(UNIX_TIMESTAMP(trim(date3),'MM/dd/yyyy hh:mm:ss'))) as date3,
timestamp(from_unixtime(unix_timestamp(regexp_replace(concat(concat(concat(substr(date4,1,10),substr(date4,12,2)),
substr(date4,15,2)),substr(date4,18,2)),'-',''),'yyyyMMddhhmmss'))) as date4
from datetest;
select standardtimestamp,timestamp(from_unixtime(unix_timestamp(regexp_replace(concat(concat(concat(substr(standardtimestamp,1,10),substr(standardtimestamp,12,2)),
substr(standardtimestamp,15,2)),substr(standardtimestamp,18,2)),'-',''),'yyyyMMddhhmmssss'))) as standardtimestamp from test limit 2
Compare dates with date in date format and date in date format:
select
sum(case when price_change_date > from_unixtime(unix_timestamp('2016-12-31' ,'yyyy-MM-dd'), 'yyyy-MM-dd') then 1 else 0 end) as price_change_date,
sum(case when listing_date > from_unixtime(unix_timestamp('2016-12-31' ,'yyyy-MM-dd'), 'yyyy-MM-dd') then 1 else 0 end) as listing_date,
sum(case when reduced_date > from_unixtime(unix_timestamp('2016-12-31' ,'yyyy-MM-dd'), 'yyyy-MM-dd') then 1 else 0 end) as reduced_date,
sum(case when distressed_date > from_unixtime(unix_timestamp('2016-12-31' ,'yyyy-MM-dd'), 'yyyy-MM-dd') then 1 else 0 end) as distressed_date
from fmdb.Interlinked_FM_DS_UPDT_V3;
When date in timestamp and you want to compare the date format with String format then use below format.
select
from_unixtime(UNIX_TIMESTAMP(ins_gmt_ts,'yyyy-MM-dd'),'yyyyMMdd') as date1 from
dbname_table_name_base limit 1;
When you have interger or decimal value and you need to change in date format.
(1) Change integer or decimal value to string using CAST function.
SELECT date_format(from_unixtime(unix_timestamp(cast(birth_date as string),'YYYYMMDD')),'yyyy-MM-dd') as birth_dt from dummy