Для исследовательского проекта я использую SolidDB от IBM, чтобы выполнить несколько тестовых запросов. Набор данных, который я использую, - это набор данных TPC-H, поэтому использование входящих в него запросов кажется логичным выбором. Однако в 8 из 19 запросов используется синтаксис интервала даты SQL-92:
select
l_returnflag,
l_linestatus,
sum(l_quantity) as sum_qty,
sum(l_extendedprice) as sum_base_price,
sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
avg(l_quantity) as avg_qty,
avg(l_extendedprice) as avg_price,
avg(l_discount) as avg_disc,
count(*) as count_order
from
lineitem
where
l_shipdate <= date '1998-12-01' - interval ':1' day (3)
group by
l_returnflag,
l_linestatus
order by
l_returnflag,
l_linestatus;
Значение: 1 заполнено генератором запросов как число. Согласно Solid IBM solidDB SQL Guide , solidDB не поддерживает ключевое слово интервал.
Чтобы использовать шаблоны запросов, поставляемые с эталонным тестом TPC-H, мне нужен какой-то альтернативный синтаксис для вычитания дней из даты и т.п. TIMESTAMPADD , похоже, тоже мало что сделал, поэтому в данный момент у меня нет идей.