2016-08-26 2 views
0

У меня есть таблица, в которой есть данные временной метки, но тип столбца отличается от символа. т.е.Как суммировать столбец timestamp, который сохраняется как varchar

totaltime 
character varying 
0000:00:08.00 
0000:12:39.00 
0000:01:09.00 
0000:00:02.00 
0000:03:53.00 

Есть ли простой способ взять сумму столбца?

+1

@paqogomez: Cast интервалу, а не временной метки. Суммирование временных меток - буквально абсурд. Postgresql выдаст ошибку, если вы попробуете; другие dbms могут возвращать числовую бессмыслицу. (MySQL, например.) –

ответ

2

Это не временная метка, а интервал:

select '0000:00:08.00'::timestamp; 
ERROR: invalid input syntax for type timestamp: "0000:00:08.00" 
LINE 1: select '0000:00:08.00'::timestamp; 

select '0000:00:08.00'::interval; 
interval 
---------- 
00:00:08 

https://www.postgresql.org/docs/current/static/datatype-datetime.html

+1

Право. Суммирование временных меток не имеет смысла. «Один час плюс два часа» (суммирующие интервалы) имеет смысл. «1 час плюс 2 часа» - нет. Но интервалы * являются * в столбце varchar. Кто знает, что еще ждет? –

Смежные вопросы