Simple, using substring function to get parts for Year, Month, Date, Hour, Minute, Second from String or Integer and concatenate them into Timestamp format and cast to timestamp. Below are examples,
Suppose Table t1 has a column (col1) have integer value in pattern YYMMDDhhmm. For example, it value is 0403051030. It means Year 2014, March fifth, and thirty minutes past ten o'clock. We can use below two methods to convert it to be Timestamp value.
SELECT
cast(('20' || substring(col1,1, 2) || substring(col1,3, 2) ||
substring(col1,5, 2) || ' ' || substring(col1,7, 2) || ':'
|| substring(col1,9, 2)) as timestamp)
FROM t1;
OrSELECT
cast(to_date(col1, 'YYMMDD') || ' '
|| substring(col1,7,2) || ':'
|| substring(col1,9,2) as timestamp)
FROM t1;
Also, get idea from a blog about how to convert epoch time to timestamp on fly in Redshift.SELECT
(TIMESTAMP 'epoch' + myunixtime * INTERVAL '1 Second ')
AS mytimestamp
FROM
example_table
No comments:
Post a Comment