为什么以下代码有时会返回null。
SELECT
CASE ABS(CHECKSUM(NEWID())) % 4
WHEN 0 THEN 'Dr'
WHEN 1 THEN 'Master'
WHEN 2 THEN 'Mr'
WHEN 3 THEN 'Mrs'
END
如果我改为:
DECLARE @n INT
SELECT @n = ABS(CHECKSUM(NEWID())) % 4
SELECT
CASE @n
WHEN 0 THEN 'Dr'
WHEN 1 THEN 'Master'
WHEN 2 THEN 'Mr'
WHEN 3 THEN 'Mrs'
END
它永远不会返回null。