Seite 1 von 1

Null als parameter für Query?

Verfasst: 10. September 2017, 09:15
von satmax
Ich möchte einem Query fallweise SQL Null als Parameter übergeben.

Funktioniert nicht: QRY_xy.PARAM_Sub = Null

Ergibt einen Laufzeitfehler QRY_xy.PARAM_Sub..Null = True


Im query steht dann:
WHERE a._ID = {PARAM_KundenID} -
AND Sub = {PARAM_Sub} // Hier muss fallweise IS NULL rein

Achja, ich verwende MS SQL.

Re: Null als parameter für Query?

Verfasst: 12. September 2017, 10:34
von satmax
Konnte es wie folgt lösen:
WHERE a._ID = {PARAM_KundenID} -
AND ISNULL(Sub,0) = {PARAM_Sub} // Ist sub NULL wird 0 zurückgegeben.

Re: Null als parameter für Query?

Verfasst: 12. September 2017, 11:12
von Herbert
Verstehe nicht ganz.
Wo erstellst du den Query? AusWindev? Falls ja, dann isst es doch so, dass ein nicht definierter Parameteer immer Null ist und nicht beachtet wird beim Ausführen.
Oder sehe ich da etwas falsch?

Re: Null als parameter für Query?

Verfasst: 12. September 2017, 11:44
von satmax
Ich möchte alle Records wo das Feld NULL ist, aber nur diese. das Query ist ein gespeichertes Query.

Where Feld is null

Ein ander mal

where Feld=4711

Re: Null als parameter für Query?

Verfasst: 12. September 2017, 16:13
von Herbert
Ach so, du willst wissen, ob in der Tabelle der Wert=null ist....

Re: Null als parameter für Query?

Verfasst: 18. September 2017, 08:45
von satmax
Ja, einmal kommt als Parameter 4711, einmal eben Null:

Im Query steht dann:
..
WHERE a._ID = {PARAM_KundenID} -
AND Sub = {PARAM_Sub} // {PARAM_Sub} = 4711... oder IS NULL und das geht eben nicht
..
IS NULL oder 1-#### geht aber nicht via Query, daher
..
AND ISNULL(Sub,0) = {PARAM_Sub} // Ist sub NULL wird 0 zurückgegeben.
..

So kann ich als PARAM_SUB 0 übergeben und erhalte alle Recs wo das Feld NULL ist, oder ich übergebe einen Wert > 0 und erhalte die entsprechenden Records. Simple wenn man es weiß..., hat mir aber ein paar Stunden gekostet... :)