Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL stored procedure variable null checking

Below is part of a stored procedure that I have, it would be of great help if you can point me why is that even when @DefaultID is null after executing the select statement it does not enter the if condition, is there are different method I have to follow to assign the value to @DefaultID for it to be available for null checking.

Thank you in advance.

DECLARE @DefaultID varchar(25)
DECLARE @ISDefault varchar(1)

SELECT @DefaultID = (SELECT TABLE1.DEFID as DEFID
                     FROM TABLE1
                     WHERE TABLE1.ID = '123')

IF (@DefaultID = '')
    SET @ISDefault = '1'
ELSE
    SET @ISDefault = '0'
like image 434
Arvind Avatar asked Nov 22 '12 12:11

Arvind


3 Answers

Use

IF @DefaultID IS NULL

Instead of IF @DefaultID =''

NULL and '' are two different things.

like image 159
Mahmoud Gamal Avatar answered Nov 02 '22 08:11

Mahmoud Gamal


simply use this :-

  IF(@DefaultID is NULL)
like image 3
Pranav Avatar answered Nov 02 '22 07:11

Pranav


Please check using

IF ISNULL(@DefaultID, '') = '' instead of IF(@DefaultID = '')

I guess you are using MS Sql server.

like image 3
TechDo Avatar answered Nov 02 '22 07:11

TechDo