Как рассчитать разницу двух столбцов с форматом отметки времени? - PullRequest
1 голос
/ 09 октября 2019

Мне нужно создать различия столбцов двух столбцов с форматом отметки времени.

У меня есть col1 и col2, необходимо сгенерировать столбец "diff (hous)", как показано на выделенной части рисунка. Благодарю.

pls see example

Ответы [ 2 ]

1 голос
/ 09 октября 2019

Рассчитайте разницу во времени между двумя временными метками в mysql

Поэтому вам нужно сначала создать пустой новый столбец, а затем заполнить его, выполнив TIMESTAMPDIFF. Примерно так:

UPDATE table SET newcolumn = TIMESTAMPDIFF(HOUR,col1,col2);

Примерно так

0 голосов
/ 10 октября 2019

Обратите внимание, что ваши значения "diff (часы)" фактически представляют дни, а не часы.

Teradata не предоставляет встроенную функцию разности временных меток, но вы можете рассчитать, извлекая части и выполняя простую математику:

select col1, col2,
cast((cast(col1 as date) - cast(col2 as date)) as float)
+cast((extract(hour from col1) - extract(hour from col2)) as float)/24
+cast((extract(minute from col1) - extract(minute from col2)) as float)/24/60
+cast((extract(second from col1) - extract(second from col2)) as float)/24/60/60
as diff_days
from myTable;

Вы можете поместить вычисление в UDF SQL, если вам нужно использовать его в нескольких местах.

...