I know how to check if a parameter is null but i am not sure how to check if its empty ... I have these parameters and I want to check the previous parameters are empty or n
I sometimes use NULLIF like so...
IF NULLIF(@PreviousStartDate, '') IS NULL
There's probably no reason it's better than the way suggested by @Oded and @bluefeet, just stylistic preference.
@danihp's method is really cool but my tired old brain wouldn't go to COALESCE when I'm thinking is null or empty :-)
To check if variable is null or empty use this:
IF LEN(ISNULL(@var, '')) = 0
I use coalesce:
IF ( COALESCE( @PreviousStartDate, '' ) = '' ) ...
What about combining coalesce
and nullif
?
SET @PreviousStartDate = coalesce(nullif(@PreviousStartDate, ''), '01/01/2010')
you can use:
IF(@PreviousStartDate IS NULL OR @PreviousStartDate = '')
If you want to use a parameter is Optional so use it.
CREATE PROCEDURE uspGetAddress @City nvarchar(30) = NULL, @AddressLine1 nvarchar(60) = NULL
AS
SELECT *
FROM AdventureWorks.Person.Address
WHERE City = ISNULL(@City,City)
AND AddressLine1 LIKE '%' + ISNULL(@AddressLine1 ,AddressLine1) + '%'
GO