Auch bei Dynamic muss der Programmierer ja wissen, welche Felder er nicht in die Where-Klausel aufnimmt.
Also kann er bei der statischen Variante einfach die NULL-Anzeiger für die nicht benötigten Felder setzen verwenden, da dies so wirkt, als wäre die Bedingung nicht vorhanden.
Denn mit NULL kann man nur mit " is null" vergleichen und sonst nicht.

@dibe

Wenn du eine Spalte mit NULL vergleichst, ist das Ergebnis NULL.
Da du aber alle mit Or verknüpfst, benötigst du mindestens 1 Bedingung die nicht NULL sondern Wahr ist um zum Ergebnis zu kommen.
In RPG Kann man aber NULL halt nur mit einem NULL-Indikator markieren.

Wenn du also z.B. Null2 bis Null6 mit -1 belegst, muss "Feld1 = : Wert1" zum Ziel führen, oder auch nicht wenn es ebenso ein akzeptables Ergebnis ist.

Ach ja:
Die 2. Variante von Birgitta ist dieselbe wie die in der ersten Antwort, nur komplizierter geschrieben.
Warum soll ich Col1 mit sich selber vergleichen wenn die Variable leer ist und ich doch eigentlich alles mit or verknüpfe?