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: