Dalam Oracle Database, ASCIISTR()
fungsi mengembalikan versi ASCII dari string yang diberikan dalam set karakter database.
Sintaks
Sintaksnya seperti ini:
ASCIISTR(char)
Di mana char
adalah string atau ekspresi yang diubah menjadi string, dalam rangkaian karakter apa pun.
Karakter non-ASCII diubah menjadi bentuk \xxxx
, di mana xxxx
mewakili unit kode UTF-16.
Contoh
Berikut contohnya:
SELECT ASCIISTR('Fish')
FROM DUAL;
Hasil:
Fish
Dalam hal ini, hasilnya sama dengan input, karena inputnya menggunakan karakter ASCII.
Ini satu lagi yang menggunakan karakter non-ASCII:
SELECT ASCIISTR('ปลา')
FROM DUAL;
Hasil:
\0E1B\0E25\0E32
Di sini, kita mendapatkan masing-masing dari tiga karakter yang dikembalikan dalam ekuivalen ASCII.
Dalam hal ini, input (ปลา
) adalah kata Thai untuk "ikan". Ini bisa diucapkan sebagai “Plā”.
Inilah yang terjadi ketika kita melewati Plā
ke ASCIISTR()
fungsi:
SELECT ASCIISTR('Plā')
FROM DUAL;
Hasil:
Pl\0101
Dalam hal ini, dua karakter pertama yang kami lewati adalah karakter ASCII, tetapi karakter ketiga adalah non-ASCII. Oleh karena itu, fungsi mengembalikan dua karakter pertama tidak berubah, dan yang ketiga dikonversi ke ASCII.
Ini satu lagi yang lolos น้ำ
, yang merupakan kata dalam bahasa Thailand untuk “air”:
SELECT ASCIISTR('น้ำ')
FROM DUAL;
Hasil:
\0E19\0E49\0E33
Nilai Null
Jika argumennya null
, hasilnya null
:
SET NULL 'null';
SELECT ASCIISTR(null)
FROM DUAL;
Hasil:
null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali nilai nol muncul sebagai akibat dari SELECT
SQL pernyataan.
Namun, Anda dapat menggunakan SET NULL
untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null
harus dikembalikan.
Jumlah Argumen Tidak Valid
Memanggil ASCIISTR()
tanpa argumen apa pun menghasilkan kesalahan:
SELECT ASCIISTR()
FROM DUAL;
Hasil:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"