Oracle
 sql >> Datenbank >  >> RDS >> Oracle

LTRIM()-Funktion in Oracle

In Oracle das LTRIM() Mit dieser Funktion können Sie den linken Teil einer Zeichenfolge trimmen. Standardmäßig werden Leerzeichen entfernt, aber Sie können optional ein anderes Zeichen oder andere Zeichen zum Trimmen angeben.

Syntax

Die Syntax lautet wie folgt:

LTRIM(char [, set ])

Wobei char und set kann jeder der Datentypen CHAR sein , VARCHAR2 , NCHAR , NVARCHAR2 , CLOB , oder NCLOB .

LTRIM entfernt vom linken Ende von char alle in set enthaltenen Zeichen . Wenn Sie set nicht angeben , dann ist es standardmäßig ein einzelnes Leerzeichen.

Beispiel

Hier ist ein einfaches Beispiel zur Veranschaulichung:

SELECT LTRIM('     Cat')
FROM DUAL;

Ergebnis:

   LTRIM('CAT') 
_______________ 
Cat            

In diesem Fall habe ich nicht angegeben, welche(s) Zeichen entfernt werden sollen, und so wurde jedes einzelne Leerzeichen aus dem linken Teil der Zeichenfolge entfernt.

Hier ist es noch einmal im Vergleich zum ursprünglichen (nicht aufgefüllten) String:

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

Ergebnis:

      'CAT' 
___________ 
     Cat    
Cat        

Geben Sie ein Zeichen an

In diesem Beispiel gebe ich ein zu kürzendes Zeichen an:

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

Ergebnis:

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

Wir können also sehen, dass das Zeichen von der linken Seite getrimmt wurde, aber nicht von der rechten Seite. Um die rechte Seite zu trimmen, verwenden Sie RTRIM() oder TRIM() .

Beachten Sie, dass LTRIM() trimmt nur die Figur/en im Set, bis es eine Figur gibt, die nicht im Set ist. Hier ist ein Beispiel dafür, was ich meine:

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

Ergebnis:

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

Wenn wir jedoch A einfügen in der Menge erhalten wir ein anderes Ergebnis:

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

Ergebnis:

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

Datenbankbeispiel

Hier ist ein Beispiel für das Trimmen des linken Teils der Werte in einer Datenbankspalte:

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

Ergebnis:

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

Nullwerte

Wenn eines der Argumente null ist das Ergebnis ist null :

SET NULL 'null';

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

Ergebnis:

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

Standardmäßig geben SQLcl und SQL*Plus ein Leerzeichen zurück, wenn null tritt als Ergebnis eines SQL SELECT auf Erklärung.

Sie können jedoch SET NULL verwenden um eine andere Zeichenfolge anzugeben, die zurückgegeben werden soll. Hier habe ich angegeben, dass der String null zurückgegeben werden soll.

Leere Strings trimmen

Das Übergeben einer leeren Zeichenfolge als zweites Argument führt zu null :

SET NULL 'null';

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

Ergebnis:

   LTRIM('CAT','') 
__________________ 
null              

Aber das Hinzufügen eines einzelnen Leerzeichens zum leeren String ändert dies und schneidet alle Leerzeichen von der linken Seite des Strings ab:

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

Ergebnis:

   LTRIM('CAT','') 
__________________ 
Cat               

Falsche Argumentanzahl

Aufruf von LTRIM() ohne Übergabe von Argumenten gibt einen Fehler zurück:

SELECT LTRIM()
FROM DUAL;

Ergebnis:

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:

Und das Übergeben der falschen Anzahl von Argumenten führt zu einem Fehler:

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

Ergebnis:

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: