Oracle
 sql >> база данни >  >> RDS >> Oracle

Мога ли да насоча редове с дати в колони, без да се налага да посочвам датите в осевата таблица? Oracle SQL

В pallets подзаявка избирате низово представяне на дати (следващите пет или шест дни). Вместо това трябва да изберете цели числа, както следва:

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

И след това, във външния избор,

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

Имайте предвид, че в pallets имате trunc(a.ord_to_ship_date) between sysdate and sysdate + 5 . Това означава, че ако заявката се изпълни точно в полунощ, ще получите дати за доставка за днес, утре, ..., днес + 5 (общо ШЕСТ дни). Ако е по което и да е време, различно от полунощ, ще получите само пет дни - ИЗКЛЮЧВАйки днес. Не сте сигурни какво е действителното ви изискване, но може да искате да сравните с TRUNC(sysdate) вместо sysdate и вижте какво точно ви трябва в заявката.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01031:недостатъчни привилегии при избор на изглед

  2. Заявката ми се изпълнява по-бързо втори път, как да спра това?

  3. Linux и Oracle Instant Client

  4. Големи проблеми с производителността с Oracle DataReader в .Net

  5. ангажиране след избиране