Null or empty check for a string variable
Yes, it works. Check the below example. Assuming @value is not int
WITH CTE
AS
(
SELECT NULL AS test
UNION
SELECT '' AS test
UNION
SELECT '123' AS test
)
SELECT
CASE WHEN isnull(test,'')='' THEN 'empty' ELSE test END AS IS_EMPTY
FROM CTE
Result :
IS_EMPTY
--------
empty
empty
123
Use This way is Better
if LEN(ISNULL(@Value,''))=0
This check the field is empty
or NULL
Yes, you could also use COALESCE(@value,'')=''
which is based on the ANSI SQL standard:
SELECT CASE WHEN COALESCE(@value,'')=''
THEN 'Yes, it is null or empty' ELSE 'No, not null or empty'
END AS IsNullOrEmpty
DEMO
Yes, that code does exactly that.
You can also use:
if (@value is null or @value = '')
Edit:
With the added information that @value
is an int
value, you need instead:
if (@value is null)
An int
value can never contain the value ''
.