Я хочу сравнить дату/время с SQL Server (тип datetime-16) с db2/400 (тип Z).Сравнить даты db2/400 vs SQL Server
Обычно я хотел бы знать, что есть 60 секунд между 18:44 и 18:45
Каждый из них имеет несколько различных характеристик дисплея.
SQL Server 2016-07-26 18:45:00.000
Db2/400 2016-07-26-18.45.00.000000
Если я делаю это на моей базе данных db2:
SELECT
MYDATETIME,
'2016-07-26 18:44:00.000',
MYDATETIME - '2016-07-26 18:44:00.000'
FROM @dates
Я получаю это
MYDATETIME Constant value Numeric Expression
2016-07-26-18.45.00.000000 2016-07-26 18:44:00.000 100.000000
Db2 SQL кажется довольно щедрым, чтобы принять несколько различных форматов.
Но запрос говорит мне, что разница в 1 минуту = 100. Похоже, что здесь есть сравнение базы 10.
Использование db2 функции метки времени, я получаю тот же результат
SELECT
MYDATETIME,
'2016-07-26 18:44:00.000',
MYDATETIME - timestamp('2016-07-26-18.44.00.000000')
FROM @dates
Как я могу сделать сравнение, которые дали бы мне разницу в течение нескольких минут (или часов или дней)?
Это на самом деле [дает вам форматированный значение] (https://www.ibm. com/support/knowledgecenter/SSEPEK_10.0.0/sqlref/src/tpc/db2z_bif_timestampdiff.html): '100.000000' на самом деле' 1 минута', '00 секунд',' 000000 дробных секунд'. Обратите внимание, что значение относительное (т. Е. «1 месяц»), поэтому, возможно, не полезно. Почему вы хотите разницу? –
Clockwork - Я хочу задать такие вопросы, как «Как долго после последнего запуска», «показать мне транзакции за последние 24 часа», «Экстракция была запущена вчера на 2 вечера. Покажите мне, что нового». Спасибо –
Вы почти никогда не хотите использовать diff в запросе, потому что это заставит db игнорировать указатели. Как правило, вы хотите создать лимиты и выполнить запрос диапазона. Языки на уровне приложений имеют более эффективные способы разграничения продолжительности, чем почти все РСУБД, поэтому математика отображается только во время отображения. Как вы пытаетесь общаться между двумя dbs? Почему бы просто не передать требуемые начальные/конечные значения? –