我有一个表格,其中包含以下列: 年,月,日,小时,分钟,秒
如何将它们组合成“TIMESTAMP”格式的单列?
提前谢谢。
答案 0 :(得分:2)
SELECT year || '-' || month || '-' || day || ' ' || hour || ':' || minute || ':' || second FROM table_name
答案 1 :(得分:2)
只需使用连接并转换为时间戳。 这是一个例子:
CREATE TABLE test (year integer, month integer, day integer,
hour integer, min integer, sec integer);
INSERT INTO test (year, month, day, hour, min, sec)
VALUES (2012, 10, 11, 01, 10, 35);
SELECT (year::text || '-' || month::text || '-' || day::text || ' '
|| hour::text || ':' || min::text || ':' || sec::text)::timestamp
FROM test
"timestamp"
"10/11/2012 1:10:35 AM"
答案 2 :(得分:0)
自Postgres 9.4以来,这变为a lot easier:
select make_timestamp(year, month, day, hour, minute, second) as ts_value
from the_table;
这假设所有列都是整数(second
除外,它也可以是双精度数)
要创建date
,请使用make_date()
,time
值使用make_time()