Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Select bei leeren Feldern (https://www.delphipraxis.net/183837-select-bei-leeren-feldern.html)

Dumpfbacke 8. Feb 2015 10:46

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

Select bei leeren Feldern
 
Hallo Jungs,
könnt Ihr mir bitte einmal bein denken helfen ?
Ich haben hier ein Select wo unter anderen auch ein Left Outer Join vorhanden ist.

Der Select besteht unter anderem aus diesem Teil.

Delphi-Quellcode:
Left Outer Join
... Master.Rangfolge = (Select Min(Cast(Rangfolge as Integer)) From ....
Das Problem ist nun das jedoch das Feld auch Leer sein kann und dann geht es natürlich nicht bzw ich vermute das hier der Fehler liegt. Wie kann ich es umgehen. Ich bin der Meinung es schon mal hier gelesen zu haben aber kann es nicht mehr finden. Danke Euch schon mal.

Dunpfbacke

mkinzler 8. Feb 2015 10:51

AW: Select bei leeren Feldern
 
Was für eine Typ hat Rangfolge? (Wegen Cast). Die Rangfolg sollte nicht leer sein. Du hast 2 Möglichkeiten:
-Setzen von Standardwert ( auch nachträglich)
-Ersetzung NULL durch 0 mit Hilfe von IIF, COALESCE o.ä in der Abfrage

Dumpfbacke 8. Feb 2015 10:58

AW: Select bei leeren Feldern
 
Ja sorry natürlich es waren zu wenige Angaben

Das Feld ist ist VarChar Feld. In Meine Fall gibt es hier zwei Möglichekiten. Entweder steht hier eine Zahl drin oder es ist Leer. Wenn es leer ist sollte es einfach durch eine 0 ersetzte werden das würde mir schon weiterhelfen. Danke

mkinzler 8. Feb 2015 11:01

AW: Select bei leeren Feldern
 
Dann ist die Frage warum Varchar? Leer ist leer ( '', ' ') oder NULL?

SQL-Code:
Left Outer Join
... Master.Rangfolge = (Select Min(IIF(TRIM(Rangfolge) = '', 0, Cast(Rangfolge as Integer)))) From ....

p80286 8. Feb 2015 12:01

AW: Select bei leeren Feldern
 
Könnte es sein, das Rangfolge keine Zahl, sondern eine Ziffernfolge ist?
Einerlei ein grausliches Konstrukt. Bleibt die Frage was ist leer? ('',' ',NULL). U.U. hat sich der Datenbankdesigner da etwas bei gedacht?

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 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