bestimmen, wenn alle Werte null sind, wenn true, dann false, sonst true

Ich habe derzeit eine select-Anweisung, die prüft, mehrere Spalten, um zu sehen, wenn Sie über Daten verfügen. wenn einer von Ihnen null sind, dann möchte ich ein bisschen auf false gesetzt. wenn keine von Ihnen null ist, dann möchte ich ein bit auf true gesetzt. hier ist, was ich derzeit habe:

select
cast(
        case when ChangeOrderNumber is null then 0 else 1 end *
        case when ClientName is null then 0 else 1 end *
        case when QuoteNumber  is null then 0 else 1 end *
        case when ClientNumber is null then 0 else 1 end *
        case when ServiceLine is null then 0 else 1 end *
        case when ServiceLineCode is null then 0 else 1 end *
        case when GroupLeader is null then 0 else 1 end *
        case when CreatedBy is null then 0 else 1 end *
        case when PTWCompletionDate is null then 0 else 1 end *
        case when BudgetedHours is null then 0 else 1 end *
        case when BudgetDollars is null then 0 else 1 end *
        case when InternalDeadlineDate is null then 0 else 1 end *
        case when ProjectDescription is null then 0 else 1 end *
        case when Sales is null then 0 else 1 end *
        case when Coop is null then 0 else 1 end *
        case when PassThrough is null then 0 else 1 end *
        case when POStatus is null then 0 else 1 end *
        case when PONumber is null then 0 else 1 end as bit
    ) 
    as Flag
from t

nun, dass der code funktioniert, aber es ist ein bisschen langwierig, ich wurde gefragt, ob jemand weiß, einen besseren Weg, dies zu tun. bitte beachten Sie, dass mehrere Datentypen geprüft wird.

weitere details:
dieser code ist in einer Ansicht, dass untersucht wird in einer Anwendung für die Verarbeitung der Aufträge ändern. bevor eine ändern der Reihenfolge verarbeitet werden können, müssen einige Daten auf Qualität überprüft. diese Ansicht zeigt, wenn die geforderten Daten ist null.

  • Komm David...weißt du nicht, wie Sie dies tun 😛
InformationsquelleAutor DForck42 | 2011-05-24
Schreibe einen Kommentar