Dalam jawaban ini saya akan mencoba memberikan informasi dari sumber resmi
(1) Literal teks N''
N'' digunakan untuk mengonversi string menjadi NCHAR atau NVARCHAR2 tipe data
Menurut dokumentasi Oracle ini Oracle - Literals
Sintaks literal teks adalah sebagai berikut:
dimana
Nataunmenentukan literal menggunakan set karakter nasional (NCHARatauNVARCHAR2data).
Juga di artikel kedua ini Oracle - Tipe Data
N'String' digunakan untuk mengonversi string menjadi NCHAR tipe data
Dari artikel yang tercantum di atas:
Contoh berikut membandingkan
translated_descriptionkolompm.product_descriptionstabel dengan string set karakter nasional :SELECT translated_description FROM product_descriptions WHERE translated_name = N'LCD Monitor 11/PM';
(2) The U'' Literal
U'' digunakan untuk menangani SQL NCHAR String Literals di Oracle Call Interface (OCI)
Berdasarkan dokumentasi Oracle ini Pemrograman dengan Unicode
Antarmuka Panggilan Oracle (OCI) adalah API level terendah yang digunakan oleh produk akses database sisi klien lainnya. Ini menyediakan cara yang fleksibel untuk program C/C++ untuk mengakses data Unicode yang disimpan dalam SQL
CHARdanNCHARtipe data. Dengan menggunakan OCI, Anda dapat secara terprogram menentukan set karakter (UTF-8, UTF-16, dan lainnya) untuk data yang akan dimasukkan atau diambil. Ia mengakses database melalui Oracle Net.
OCI adalah API tingkat terendah untuk mengakses database, sehingga menawarkan kinerja terbaik.
Menangani Literal String SQL NCHAR di OCI
Anda dapat mengaktifkannya dengan menyetel variabel lingkungan
ORA_NCHAR_LITERAL_REPLACEkeTRUE. Anda juga dapat mencapai perilaku ini secara terprogram dengan menggunakanOCI_NCHAR_LITERAL_REPLACE_ONdanOCI_NCHAR_LITERAL_REPLACE_OFFmode diOCIEnvCreate()danOCIEnvNlsCreate(). Jadi, misalnya,OCIEnvCreate(OCI_NCHAR_LITERAL_REPLACE_ON)menyalakanNCHARpenggantian literal, sedangkanOCIEnvCreate(OCI_NCHAR_LITERAL_REPLACE_OFF)mematikannya.[...] Perhatikan bahwa, ketika
NCHARpenggantian literal diaktifkan,OCIStmtPreparedanOCIStmtPrepare2akan mengubahN'literal denganU'literal dalam teks SQL dan menyimpan teks SQL yang dihasilkan dalam pegangan pernyataan . Jadi, jika aplikasi menggunakanOCI_ATTR_STATEMENTuntuk mengambil teks SQL dariOCIpegangan pernyataan, teks SQL akan mengembalikanU'bukannyaN'sebagaimana ditentukan dalam teks asli .
(3) Jawaban untuk pertanyaan Anda
Dari perspektif tipe data, tidak ada perbedaan antara kedua kueri yang disediakan
