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

LTRIM() Fungsi di Oracle

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:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyetelan Sempurna Oracle DG40DBC

  2. RMAN Daftar perintah cadangan

  3. Apakah ada kueri Oracle SQL yang menggabungkan beberapa baris menjadi satu baris?

  4. Menginstal RAC untuk Database dengan Datafiles

  5. Bagaimana cara memanggil fungsi hash Oracle MD5?