Как определить пустой uniqueidentifier в SQL Server 2005?
Я uniqueidentifier в хранимую процедуру, которая выглядит так 
00000000-0000-0000-0000-000000000000.
это кажется простой вещью, но как можно определить, что это пустой uniqueidentifier? 
если я получу такое значение DDB72E0C-FC43-4C34-A924-741445153021 Я хочу сделать X
если я получу такое значение 00000000-0000-0000-0000-000000000000 Я делаю Y
есть ли более элегантный способ подсчета нулей?
спасибо заранее
5 ответов
просто создайте переменную EmptyGuid и сравните с ней:
DECLARE @EmptyGuid UniqueIdentifier
SET @EmptyGuid = '00000000-0000-0000-0000-000000000000'
лучшим решением является использование константы для пустого GUID
DECLARE @EmptyGuid UNIQUEIDENTIFIER
SET @EmptyGuid = '00000000-0000-0000-0000-000000000000'
или
DECLARE @EmptyGuid UNIQUEIDENTIFIER
SET @EmptyGuid = 0x0
а вы просто сравните их
IF @parameter = @EmptyGuid
    DO Y
ELSE
    DO X
Примечание: вам не нужно использовать слепки и преобразования
Это также работает.
DECLARE @EmptyGuid UNIQUEIDENTIFIER = CONVERT(UNIQUEIDENTIFIER, 0x0);  
SELECT @EmptyGuid
