Это должно заставить вас думать в правильном направлении. ORDER BY
функции окна может быть другим столбцом на вашей таблице, если вы не хотите, чтобы окно, упорядоченное фактическим столбцом, вы пытаетесь выполнить арифметику времени. Если вы можете поделиться более подробными сведениями о таблице или получить удар по SQL самостоятельно, мы сможем прийти к лучшему решению.
SELECT (MIN(Col_1)
OVER(PARTITION BY 1 ORDER BY Col_1
ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) -
Col_1) MINUTE(4) AS MinutesElapsed
FROM MyTable;
Используя исходные данные вы дали в качестве образца:
SELECT (TIMESTAMP '2015-01-21 13:00:00.00000' -
TIMESTAMP '2015-01-20 11:12:00.00000') MINUTE(4) AS MinutesElapsed;
Что касается знаков после запятой:
SELECT CAST(Col_1 AS TIMESTAMP(0)) AS NewTimeStamp;
Последний код не помогло. Это дало мне переполнение поля данных. – ASuit
Не могли бы вы рассказать мне код, который избавится от десятичных знаков. Ваш код не помог. Дал мне переполнение поля данных. – ASuit
Можете ли вы разместить данные SQL и образцы данных? –