2014-09-01 64 views
0

我有一个包含在表“信息”的时间信息5个独立的列: 列名称{格式例如}(变量类型)的PostgreSQL:结合表列创建时间戳

day {Fri}(Varchar) 
month {Apr}(Varchar) 
date {18}(Varchar) 
time {22:59:30}(Varchar) 
year {2014}(Varchar) 

如何创建另一列在大多数这些组合变量的时间戳表中? 谢谢

回答

0

您可以将值连接成一个字符串,然后将其转换为时间戳。

select (month || ' ' || date || ', ' || year || ' ' || time)::timestamp 

这假定串联导致有效的时间戳。由于所有的列都被定义为VARCHAR,我认为它不可能在第一次正确运行。您可能需要修复一些不良数据。

它起作用后,您应该可以从结果中提取星期几,并将其与“day”列进行比较。如果他们不一样,你还有其他问题需要解决。

想想存储实际时间戳而不是片断。