我有带有列的ProductPrices表:Product(VARCHAR2),ProductPrice(NUMBER)和AllowFrom(DATE)。我需要在表中再插入一列,例如AllowTo(DATE)=下一个AllowFrom(DATE)值减去1天。如果不是该产品价格的下一个日期,则应打印'01 .01.1900'。
我正在尝试使用带有减号1的LEAD函数,并得到错误:ORA-00947:值不足
INSERT INTO ProductPrices
SELECT AllowFrom,
LEAD(AllowFrom, 1, '01.01.1900') OVER (ORDER BY AllowFrom) - 1 AS AllowTo
FROM ProductPrices;
如何解决?
谢谢!
使用格式正确的日期常量并列出所需的列:
INSERT INTO ProductPrices (col1, col2)
SELECT AllowFrom,
LEAD(AllowFrom, 1, date '1900-01-01') OVER (ORDER BY AllowFrom) - 1 AS AllowTo
FROM ProductPrices;
我怀疑您还有其他专栏,但您的问题没有提供这方面的任何信息。