Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bisakah saya mengubah baris tanggal menjadi kolom tanpa harus menentukan tanggal di pivot? Oracle SQL

Di pallets subquery Anda memilih representasi string tanggal (lima atau enam hari ke depan). Alih-alih itu, Anda harus memilih bilangan bulat, sebagai berikut:

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

Dan kemudian, di bagian luar pilih,

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

Perhatikan bahwa di pallets anda memiliki trunc(a.ord_to_ship_date) between sysdate and sysdate + 5 . Ini berarti bahwa jika kueri dijalankan tepat pada tengah malam, Anda akan mendapatkan tanggal pengiriman untuk hari ini, besok, ..., hari ini + 5 (total ENAM hari). Jika tidak ada waktu selain tengah malam, Anda hanya akan mendapatkan lima hari - TIDAK TERMASUK hari ini. Tidak yakin apa kebutuhan Anda yang sebenarnya, tetapi Anda mungkin ingin membandingkan dengan TRUNC(sysdate) bukannya sysdate , dan lihat apa yang Anda butuhkan dalam kueri.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle::occi::ResultSet::next() membuat crash program saya

  2. Nilai Data Seiring Waktu

  3. Peramal; batasi nilai baris per kolom

  4. Bagaimana saya bisa memilih kolom bernama 'tanggal' di Oracle?

  5. Oracle 11.1.0.7 dan kegagalan oci_connect WAMP