Friday, August 03, 2007

Summer SQL Teaser #11 NULLIF

Here is a fun teaser. NULLIF will return a null value if the two specified expressions are equivalent.
So to give an example

DECLARE @v varchar
SET @v = ' '

SELECT NULLIF(@v,' ')

That returned NULL because @v and ' ' are the same


Now run this first

CREATE TABLE #j (n varchar(15))


DECLARE @a int
SET
@a = 1
WHILE @a <= 1000 BEGIN
INSERT
#j
SELECT NULLIF(REPLICATE('1', RAND()*2) , ' ')
SET @a = @a + 1
END


Then without running try to guess if the following query will return any rows

SELECT * FROM #j WHERE n = ' '

No comments: