Scroll untuk baca artikel
DatabaseOracleOracle SQL Developer

Mengatasi Error PL/SQL: ORA-01790: expression must have same datatype as corresponding expression

495
×

Mengatasi Error PL/SQL: ORA-01790: expression must have same datatype as corresponding expression

Sebarkan artikel ini
oracle database big
oracle database big

Di posting kali ini saya mencoba meng share cara mengatasi error PL/SQL: ORA-01790: expression must have same datatype as corresponding expression, itu disebabkan saat proses union all ataupun union tipe datanya tidak sama misalnya di data sebelum join formatnhya date akan tetapi ketika proses union data yang satu lagi formatnya char.

maka solusinya kedua format tersebut dibuat sama yang awalnya

 

SELECT (SELECT TO_DATE (PAYMENT_DATE, 'DD/MM/YYYY')
 FROM SAP_INVOICE
 WHERE NO_SHIPMENT IN ('SCH01022018')
 UNION ALL
 SELECT TO_CHAR (TO_DATE (PAYMENT_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY')
 FROM SAP_INVOICE
 WHERE NO_SHIPMENT IN ('SCH01022018'))
 FROM DUAL

Terlihat di atas bahwa field yang PAYMENT_DATE yang satu di format date yang satu di format char

TO_DATE (PAYMENT_DATE, 'DD/MM/YYYY')

sedangkan yang satu lagi

TO_CHAR(TO_DATE (PAYMENT_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY')

Maka agar tidak terjadi error format keduanya kita samakan menjadi to_char

SELECT (TO_CHAR (TO_DATE (PAYMENT_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY')
 FROM SAP_INVOICE
 WHERE NO_SHIPMENT IN ('SCH01022018')
 UNION ALL
 SELECT TO_CHAR (TO_DATE (PAYMENT_DATE, 'DD/MM/YYYY'), 'DD/MM/YYYY')
 FROM SAP_INVOICE
 WHERE NO_SHIPMENT IN ('SCH01022018'))
 FROM DUAL

Sekian posting kali ini.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Verified by MonsterInsights