Di Oracle, LPAD() fungsi memungkinkan Anda untuk mengisi bagian kiri string dengan karakter tertentu, ke sejumlah karakter tertentu.
Cara kerjanya adalah, Anda menentukan berapa panjang string yang dihasilkan. Jika string asli lebih pendek, karakter pengisi akan mengisi ruang yang tersisa.
Sintaks
Sintaksnya seperti ini:
LPAD(expr1, n [, expr2 ]) Dimana:
expr1danexpr2dapat berupa salah satu tipe dataCHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB, atauNCLOB.nadalahNUMBERinteger atau nilai yang dapat dikonversi secara implisit menjadiNUMBERbilangan bulat.
Fungsi mengembalikan expr1 , diisi kiri dengan panjang n karakter dengan urutan karakter dalam expr2 .
Jika expr2 dihilangkan, karakter pengisi adalah satu kosong.
Contoh
Berikut adalah contoh sederhana untuk ditunjukkan:
SELECT LPAD('Cat', 5)
FROM DUAL; Hasil:
LPAD('CAT',5)
________________
Cat Perhatikan bahwa angka yang diberikan adalah lebar total dari string yang dihasilkan – bukan jumlah bantalan.
Ini dia lagi jika dibandingkan dengan string asli (non-empuk):
SELECT LPAD('Cat', 5)
FROM DUAL
UNION ALL
SELECT 'Cat'
FROM DUAL; Hasil:
LPAD('CAT',5)
________________
Cat
Cat Tentukan Karakter
Dalam contoh ini saya menentukan karakter yang akan digunakan untuk padding:
SELECT LPAD('Cat', 5, '>')
FROM DUAL; Hasil:
LPAD('CAT',5,'>')
____________________
>>Cat Padding Lebih Kecil dari String Asli
Jika argumen kedua kurang dari string asli, maka tidak ada padding yang ditambahkan, dan string asli dipersingkat menjadi jumlah karakter yang ditentukan:
SELECT LPAD('Cat', 2)
FROM DUAL; Hasil:
LPAD('CAT',2)
________________
Ca Contoh Basis Data
Berikut adalah contoh mengisi bagian kiri nilai dalam kolom database:
SELECT
country_name,
LPAD(country_name, 12, '.') AS Padded
FROM countries
FETCH FIRST 5 ROWS ONLY; Hasil:
COUNTRY_NAME PADDED _______________ _______________ Argentina ...Argentina Australia ...Australia Belgium .....Belgium Brazil ......Brazil Canada ......Canada
Nilai Null
Jika salah satu argumennya null hasilnya null :
SET NULL 'null';
SELECT
LPAD(null, 3),
LPAD('Cat', null),
LPAD('Cat', 3, null)
FROM DUAL; Hasil:
LPAD(NULL,3) LPAD('CAT',NULL) LPAD('CAT',3,NULL)
_______________ ___________________ _____________________
null null null
Secara default, SQLcl dan SQL*Plus mengembalikan ruang kosong setiap kali null terjadi sebagai akibat dari SQL SELECT penyataan.
Namun, Anda dapat menggunakan SET NULL untuk menentukan string berbeda yang akan dikembalikan. Di sini saya menetapkan bahwa string null harus dikembalikan.
Jumlah Argumen Salah
Memanggil LPAD() tanpa memberikan argumen apa pun mengembalikan kesalahan:
SELECT LPAD()
FROM DUAL; Hasil:
Error starting at line : 1 in command - SELECT LPAD() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function" *Cause: *Action:
Dan meneruskan jumlah argumen yang salah menghasilkan kesalahan:
SELECT LPAD('Cat', 1, '>', 2)
FROM DUAL; Hasil:
Error starting at line : 1 in command -
SELECT LPAD('Cat', 1, '>', 2)
FROM DUAL
Error at Command Line : 1 Column : 28
Error report -
SQL Error: ORA-00939: too many arguments for function
00939. 00000 - "too many arguments for function"
*Cause:
*Action: