SQL Server: Eleganter Weg, um zu überprüfen, ob der Wert "IST NULL" oder "= integer-Wert"

Ich habe eine Tabelle, bestehend aus einigen code-Zellen (für die Indizierung Zwecke), und ein "Wert" der Zelle (wo die Daten, die ich interessiere mich für das Leben), die der folgenden ähnelt:

 column:      datatype:

  code1         int
  code2         int
  code3         int
  code4         int
  attributes    varchar(max)

Checke ich gegen einige input-codes, die in der gespeicherten Prozedur fügt hinzu, dass diese Tabelle, und die Einschränkung hinzufügen, dass meine EINGABE codes (@code1, @code2, @code3, @code4) können entweder gleiche Werte ODER Sie können null sein, aber sind die gleichen wie die in einigen übereinstimmenden Zeilen in der Tabelle.

Was ist der beste Weg, zu sagen, dass die folgende Aussage:

 SET @targetAttributesCell = (SELECT attributes FROM MyTable
                               WHERE (code1 = @code1)
                                 AND (code2 = @code2)
                                 AND (code3 = @code3)
                                 AND (code4 = @code4)); <-- where code1/@code1 'IS NULL' or = '[some integer]'?

Vielen Dank im Voraus. Bitte lassen Sie mich wissen, wenn ich brauche, um deutlicher zu sein.

  • Wenn Sie nicht sicher sind, dass Sie klar ist, geben Sie Beispiel-Daten zusammen mit dem Verhalten/Ergebnisse, die Sie erwarten.
InformationsquelleAutor Rachael | 2012-11-15
Schreibe einen Kommentar