Как определить пустой 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