2016-05-02 10 views
1

Also im Grunde habe ich eine Funktion mit dem Namen als ‚CommaSeparatedListToTable‘Deal mit leeren Zeilen, die von Comma gibt getrennte Liste zu Tabellenfunktion in SQL Server

Declare @ID AS Varchar(1000)='' 
SELECT item FROM [dbo].[CommaSeparatedListToTable] (@ID) 

Nun, wenn ich diese Funktion verwende, meine gespeicherte Prozedur wie folgt aussieht :

Hier gibt es leere Zeile zurück, während @ID als leer übergeben. Aber was ich gerne machen würde, anstatt mich mit leeren Zeilen zu beschäftigen. Wenn es eine leere Zeile zurückgibt, möchte ich nur mit Leerzeichen filtern.

So etwas wie unten,

Select ... 
From Table 
Where (@ID = '') 
     OR (
     @ID <> '' 
      AND c.id IN ('') 
     ) 
) 
+0

können Sie bitte eine Beispieleingabe und -ausgabe zur Verfügung stellen. Vielen Dank! – asktonishant

Antwort

0

Hoffnung funktioniert dies für Sie.

If exists(SELECT item FROM [dbo].[CommaSeparatedListToTable](@ID)) 
BEGIN 
    Select ... 
    From Table 
    WHERE c.id IN (SELECT item FROM [dbo].[CommaSeparatedListToTable](@ID))) 
END 
ELSE 
BEGIN 
    Select ... 
    From Table 
    WHERE AND c.id = ' ' 
END 
+1

gut von dir zu hören. –

Verwandte Themen