Wie überprüft man, ob ein Parameter in der gespeicherten SQL Server-Prozedur in der IF-Anweisung leer oder leer ist?

9

Ich habe das gelesen: Wie überprüfe ich, ob eine SQL Server-Zeichenfolge leer oder leer ist , aber in dieser Situation hat es mir nicht geholfen.

Der Code aus meiner gespeicherten Prozedur:

%Vor%

@item1 ist NVARCHAR(1000) type.

Beim Ausführen dieser gespeicherten Prozedur habe ich den Wert für item1

angegeben %Vor%

es zeigt

SELECT * FROM TEST1 // ist korrekt, wenn @item1 = N'some'

statt

SELECT * FROM TEST2

Es ist irgendwo eine Funktion in SQL, um zu überprüfen, ob eine Zeichenfolge null oder leer ist. ODER Ich habe irgendwo einen Fehler gemacht?

Wie in C # - & gt; string.IsNullOrEmpty(myValue)

    
Snake Eyes 04.09.2012, 13:32
quelle

3 Antworten

19

das ist das richtige Verhalten.

Wenn Sie @ item1 auf einen Wert setzen, ist der folgende Ausdruck wahr

%Vor%

In SQL Server gibt es keine solche Funktion, aber Sie können Ihre eigene erstellen:

%Vor%     
Massimiliano Peluso 04.09.2012, 13:34
quelle
4

Um zu überprüfen, ob die Variable leer oder leer ist, verwenden Sie Folgendes:

%Vor%     
fnascimento 16.06.2016 18:09
quelle
2

Natürlich funktioniert das; wenn @item1 = N'' , es IS NOT NULL .

Sie können @item1 als NULL standardmäßig am Anfang Ihrer gespeicherten Prozedur definieren und dann keinen Parameter übergeben.

    
LittleBobbyTables 04.09.2012 13:35
quelle

Tags und Links