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:
Post a Comment