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;Or
SELECT 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