Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcja LTRIM() w Oracle

W Oracle LTRIM() funkcja pozwala przyciąć lewą część struny. Domyślnie przycina białe znaki, ale możesz opcjonalnie określić inny znak lub znaki do przycięcia.

Składnia

Składnia wygląda tak:

LTRIM(char [, set ])

Gdzie char i set może być dowolnym typem danych CHAR , VARCHAR2 , NCHAR , NVARCHAR2 , CLOB lub NCLOB .

LTRIM usuwa z lewego końca char wszystkie znaki zawarte w set . Jeśli nie określisz set , to domyślnie jest to pojedyncze puste miejsce.

Przykład

Oto prosty przykład do zademonstrowania:

SELECT LTRIM('     Cat')
FROM DUAL;

Wynik:

   LTRIM('CAT') 
_______________ 
Cat            

W tym przypadku nie określiłem, które znaki należy przyciąć, więc każdy pojedynczy odstęp został przycięty z lewej części ciągu.

Oto znowu w porównaniu z oryginalnym (niewypełnionym) ciągiem:

SELECT '     Cat'
FROM DUAL
UNION ALL
SELECT LTRIM('     Cat')
FROM DUAL;

Wynik:

      'CAT' 
___________ 
     Cat    
Cat        

Określ postać

W tym przykładzie określam znak do przycięcia:

SELECT LTRIM('...Cat...', '.')
FROM DUAL;

Wynik:

   LTRIM('...CAT...','.') 
_________________________ 
Cat...                    

Widzimy więc, że postać została przycięta z lewej strony, ale nie z prawej. Aby przyciąć prawą stronę, użyj RTRIM() lub TRIM() .

Zauważ, że LTRIM() przycina tylko postać / znaki w zestawie, dopóki nie pojawi się postać, której nie ma w zestawie. Oto przykład tego, co mam na myśli:

SELECT LTRIM('...A...Cat', '.')
FROM DUAL;

Wynik:

   LTRIM('...A...CAT','.') 
__________________________ 
A...Cat                   

Jeśli jednak uwzględnimy A w zestawie, to otrzymujemy inny wynik:

SELECT LTRIM('...A...Cat', '.A')
FROM DUAL;

Wynik:

   LTRIM('...A...CAT','.A') 
___________________________ 
Cat                        

Przykład bazy danych

Oto przykład przycinania lewej części wartości w kolumnie bazy danych:

SELECT 
    country_name,
    LTRIM(country_name, 'Ar') AS Trimmed
FROM countries
FETCH FIRST 5 ROWS ONLY;

Wynik:

   COUNTRY_NAME     TRIMMED 
_______________ ___________ 
Argentina       gentina     
Australia       ustralia    
Belgium         Belgium     
Brazil          Brazil      
Canada          Canada     

Wartości puste

Jeśli którykolwiek z argumentów jest null wynik to null :

SET NULL 'null';

SELECT 
    LTRIM(null, 3),
    LTRIM(' Cat', null),
    LTRIM(null, null)
FROM DUAL;

Wynik:

   LTRIM(NULL,3)    LTRIM('CAT',NULL)    LTRIM(NULL,NULL) 
________________ ____________________ ___________________ 
null             null                 null               

Domyślnie SQLcl i SQL*Plus zwracają spację, gdy null występuje w wyniku polecenia SQL SELECT oświadczenie.

Możesz jednak użyć SET NULL aby określić inny ciąg do zwrócenia. Tutaj określiłem, że ciąg null należy zwrócić.

Przycinanie pustych ciągów

Przekazanie pustego ciągu jako drugiego argumentu powoduje null :

SET NULL 'null';

SELECT LTRIM('   Cat', '')
FROM DUAL;

Wynik:

   LTRIM('CAT','') 
__________________ 
null              

Ale dodanie pojedynczej spacji do pustego ciągu zmienia to i usuwa wszelkie spacje z lewej strony ciągu:

SELECT LTRIM('   Cat', ' ')
FROM DUAL;

Wynik:

   LTRIM('CAT','') 
__________________ 
Cat               

Nieprawidłowa liczba argumentów

Wywołanie LTRIM() bez przekazywania żadnych argumentów zwraca błąd:

SELECT LTRIM()
FROM DUAL;

Wynik:

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:

A przekazanie niewłaściwej liczby argumentów skutkuje błędem:

SELECT LTRIM('Cat', 1, '>')
FROM DUAL;

Wynik:

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. Instalowanie Oracle 11g Release 2 Enterprise Edition w systemie Windows 7 32-Bit

  2. jak używać xmltable w Oracle?

  3. Oracle:zapytanie SQL, które zwraca wiersze zawierające tylko wartości liczbowe

  4. Jak wysłać żądanie POST z danymi formularza i parametrami w PL/SQL?

  5. Jak ręcznie skonfigurować Glassfish Server w środowisku Eclipse?