sql >> Databasteknik >  >> RDS >> Oracle

Kan jag pivotera datumrader till kolumner utan att behöva ange datum i pivoten? Oracle SQL

I pallets underfråga väljer du en strängrepresentation av datum (kommande fem eller sex dagar). Istället för det bör du välja heltal, enligt följande:

select .... , trunc(a.ord_to_ship_date) - trunc(sysdate) as days_ahead, ....

Och sedan, i den yttre markeringen,

pivot .... for days_ahead in (1 as today_plus_1, 2 as today_plus_2, 3 as ....)

Observera att i pallets du har trunc(a.ord_to_ship_date) between sysdate and sysdate + 5 . Detta innebär att om frågan körs exakt vid midnatt, kommer du att få leveransdatum för idag, imorgon, ..., idag + 5 (SEX dagar totalt). Om det är någon annan tid än midnatt får du bara fem dagar – EXKLUSIVE idag. Inte säker på vad ditt faktiska krav är, men du kanske vill jämföra med TRUNC(sysdate) istället för sysdate , och se exakt vad du behöver i frågan.




  1. Hur man ändrar kompatibilitetsnivån för en databas med T-SQL

  2. Konfigurera AlwaysOn-tillgänglighetsgrupper - Del 2

  3. Ingen lämplig drivrutin hittades för jdbc:mysql/localhost:3306/world

  4. Konvertera 'tid' till 'smalldatetime' i SQL Server (T-SQL-exempel)