Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Trim in Select (https://www.delphipraxis.net/157632-trim-select.html)

pustekuchen 19. Jan 2011 08:44

Datenbank: Firebird • Version: 2.5 • Zugriff über: Delphi

Trim in Select
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag,

bei einer Abfrage aus der Datenbank, haben die Datensätzte durch den Datentyp viele Leerzeichen.
Diese möchte ich rausfiltern.
Ich habe es mit der UDF ltrim versucht, das Ergebnis ist auf dem Screenshot zu sehen.

Code:
/*****************************************
 *
 *    l t r i m
 *
 *****************************************
 *
 * Functional description:
 *    Removes leading spaces from the input
 *    string.
 *    Note: This function is NOT limited to
 *    receiving and returning only 255 characters,
 *    rather, it can use as long as 32767
 *     characters which is the limit on an
 *    INTERBASE character string.
 *
 *****************************************/
DECLARE EXTERNAL FUNCTION ltrim
    CSTRING(255) null
    RETURNS CSTRING(255) FREE_IT
    ENTRY_POINT 'IB_UDF_ltrim' MODULE_NAME 'ib_udf';
Die DB-Abfrage lautet
Code:
SELECT ltrim(foo) FROM bar
Wie bekomm ich am geschicktesten die Leerzeichen entfernt?

joachimd 19. Jan 2011 08:59

AW: Trim in Select
 
Zitat:

Zitat von pustekuchen (Beitrag 1075740)
Die DB-Abfrage lautet
Code:
SELECT ltrim(foo) FROM bar
Wie bekomm ich am geschicktesten die Leerzeichen entfernt?

Das machen i.d.R. die DB-Komponenten. Schau mal, ob dort eine Einstellung dafür existiert.

dataspider 19. Jan 2011 09:03

AW: Trim in Select
 
Wenn du FB 2.5 einsetzt, dann brauchst du keine externe UDF.
Ab Version 2 hat Firebird die Funktion TRIM an Bord.
Syntax ist in den Release Info's beschrieben.

Frank

dataspider 19. Jan 2011 09:06

AW: Trim in Select
 
Wenn du FB 2.5 einsetzt, dann brauchst du keine externe UDF.
Ab Version 2 hat Firebird die Funktion TRIM an Bord.
Syntax ist in den Release Info's beschrieben.

Frank
[EDIT]
Auch, wenn man an deinem Screenshot nicht sehen kann, was das Problem ist.
Dass ltrim nur die führenden Leerzeichen entfert, hast du sicher gelesen?

DeddyH 19. Jan 2011 09:54

AW: Trim in Select
 
Zitat:

Zitat von pustekuchen (Beitrag 1075740)
... haben die Datensätzte durch den Datentyp viele Leerzeichen.

Ist das eigentlich unbedingt notwendig, oder ließe sich der Datentyp von fixen auf variable Stellen ändern (CHAR in VARCHAR)?

pustekuchen 19. Jan 2011 10:25

AW: Trim in Select
 
Danker erstmal für die Zahlreichen Antworten ;)

Zitat:

Ab Version 2 hat Firebird die Funktion TRIM an Bord.
Syntax ist in den Release Info's beschrieben.
Danke, das wars ;)

Zitat:

Ist das eigentlich unbedingt notwendig, oder ließe sich der Datentyp von fixen auf variable Stellen ändern (CHAR in VARCHAR)?
Ja, da hast du recht. Danke für den Hinweis.
Das Problem war, das ich die Datensätze zuerst mit Char erstellt habe, fast alle hab ich auch schon auf VarChar umgestellt gehabt, doch er hat die leerzeichen übernommen, was ja auch logisch ist ;)(Aber es hat zu verwirrungen geführt.)

Danke nochmal an alle. Ich werde das ganze nochmal überarbeiten und dann sollte es laufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz