问题描述
所以我已经生成了 TPC-H 数据。现在我试图在数据库上运行它的查询,但我不知道我是否应该使用某些特定的值,或者我应该以某种方式生成它们。
例如,让我们考虑
:x
:o
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;
:n-1
这里我不明白什么是 :x :o :n-1
值。当我尝试运行此代码时,我被要求输入每个代码的值,但我不知道应该输入什么。或者我应该只输入 90
而不是 ':1'
例如?
我正在尝试在 oracle 中执行此操作。
解决方法
这只是 Oracle 的观点。
截至目前:
l_shipdate <= date '1998-12-01' - interval ':1' day (3)
以及您为 :1
输入某个值的问题,是的 - 您应该这样做。例如(在 SQL*Plus 中运行),它从 sysdate(今天的日期)中减去 90 天:
SQL> select sysdate,2 sysdate - interval '&1' day (3)
3 from dual;
Enter value for 1: 90
old 2: sysdate - interval '&1' day (3)
new 2: sysdate - interval '90' day (3)
SYSDATE SYSDATE-IN
---------- ----------
03.01.2021 05.10.2020
SQL>
至于其他值 (x
,o
,n-1
) - 不知道。如果删除这些行会发生什么?