Di Oracle, LTRIM()
fungsi memungkinkan Anda untuk memotong bagian kiri string. Secara default, ini memangkas spasi putih, tetapi Anda dapat secara opsional menentukan karakter atau karakter yang berbeda untuk dipangkas.
Sintaks
Sintaksnya seperti ini:
LTRIM(char [, set ])
Dimana char
dan set
dapat berupa salah satu tipe data CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
, atau NCLOB
.
LTRIM
menghapus dari ujung kiri char
semua karakter yang ada di set
. Jika Anda tidak menentukan set
, maka defaultnya adalah satu kosong.
Contoh
Berikut adalah contoh sederhana untuk ditunjukkan:
SELECT LTRIM(' Cat')
FROM DUAL;
Hasil:
LTRIM('CAT') _______________ Cat
Dalam hal ini saya tidak menentukan karakter mana yang akan dipangkas, sehingga setiap kosong dipangkas dari bagian kiri string.
Ini dia lagi jika dibandingkan dengan string asli (non-empuk):
SELECT ' Cat'
FROM DUAL
UNION ALL
SELECT LTRIM(' Cat')
FROM DUAL;
Hasil:
'CAT' ___________ Cat Cat
Tentukan Karakter
Dalam contoh ini saya menentukan karakter untuk dipangkas:
SELECT LTRIM('...Cat...', '.')
FROM DUAL;
Hasil:
LTRIM('...CAT...','.') _________________________ Cat...
Jadi kita bisa melihat bahwa karakter itu dipangkas dari sisi kiri tetapi tidak dari sisi kanan. Untuk memangkas sisi kanan, gunakan RTRIM()
atau TRIM()
.
Perhatikan bahwa LTRIM()
hanya memangkas karakter/s di set up sampai ada karakter yang tidak di set. Ini contoh yang saya maksud:
SELECT LTRIM('...A...Cat', '.')
FROM DUAL;
Hasil:
LTRIM('...A...CAT','.') __________________________ A...Cat
Namun, jika kami menyertakan A
di set, maka kita mendapatkan hasil yang berbeda:
SELECT LTRIM('...A...Cat', '.A')
FROM DUAL;
Hasil:
LTRIM('...A...CAT','.A') ___________________________ Cat
Contoh Basis Data
Berikut ini contoh pemangkasan bagian kiri nilai dalam kolom database:
SELECT
country_name,
LTRIM(country_name, 'Ar') AS Trimmed
FROM countries
FETCH FIRST 5 ROWS ONLY;
Hasil:
COUNTRY_NAME TRIMMED _______________ ___________ Argentina gentina Australia ustralia Belgium Belgium Brazil Brazil Canada Canada
Nilai Null
Jika salah satu argumennya null
hasilnya null
:
SET NULL 'null';
SELECT
LTRIM(null, 3),
LTRIM(' Cat', null),
LTRIM(null, null)
FROM DUAL;
Hasil:
LTRIM(NULL,3) LTRIM('CAT',NULL) LTRIM(NULL,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.
Memotong String Kosong
Melewati string kosong sebagai argumen kedua menghasilkan null
:
SET NULL 'null';
SELECT LTRIM(' Cat', '')
FROM DUAL;
Hasil:
LTRIM('CAT','') __________________ null
Tetapi menambahkan satu spasi ke string kosong akan mengubahnya, dan memangkas spasi kosong apa pun dari kiri string:
SELECT LTRIM(' Cat', ' ')
FROM DUAL;
Hasil:
LTRIM('CAT','') __________________ Cat
Jumlah Argumen Salah
Memanggil LTRIM()
tanpa memberikan argumen apa pun mengembalikan kesalahan:
SELECT LTRIM()
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT LTRIM() 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 LTRIM('Cat', 1, '>')
FROM DUAL;
Hasil:
Error starting at line : 1 in command - SELECT LTRIM('Cat', 1, '>') FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: