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

Karakter kosong diabaikan di klausa where

Melihat Dokumentasi Oracle di literal :

dan dokumentasi semantik perbandingan kosong menyatakan:

Karena sisi kiri perbandingan adalah CHAR(10) dan sisi kanan adalah teks literal kemudian digunakan semantik perbandingan kosong dan 'hello ' = 'hello' benar.

Anda dapat melihat ini dalam contoh sederhana:

SELECT * FROM DUAL WHERE 'hello    ' = 'hello';

Perbarui :

[TL;DR] Perilaku ini telah muncul di semua versi Oracle setidaknya sejak Oracle 7 (dirilis pada 1992). Saya berhenti mencari dokumentasi tentang rilis lebih dari dua dekade, tetapi saya berharap Anda akan menemukan bahwa ini telah menjadi perilaku di sebagian besar (semua?) versi.

Berikut adalah dokumentasi untuk berbagai versi:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Layanan Data Oracle REST apex_pu

  2. Cara memanggil sampel helloword func menggunakan kode java

  3. Apakah mungkin untuk memanggil jenis catatan di dalam kursor?

  4. penjumlahan sekuensial kueri Oracle per baris

  5. bagaimana cara menggunakan regexp_like Oracle di Hibernate HQL?