どのように私は、SQL Server 2005で空白のuniqueidentifierを識別していますか?
-
20-09-2019 - |
質問
私はこのようになりますストアドプロシージャにuniqueidentifier
を取得しています。
00000000-0000-0000-0000-000000000000
ます。
これは単純なことのように思えるが、どのようにこれが空白uniqueidentifier
であることを識別することができますか?
私が取得する場合、私はXをしたい、このようなDDB72E0C-FC43-4C34-A924-741445153021
値
私はこの00000000-0000-0000-0000-000000000000
のような値を取得する場合、私はYを行う
、その後のゼロをカウントアップし、よりエレガントな方法はありますか?
事前に感謝します。
解決
タグと比較
cast(cast(0 as binary) as uniqueidentifier)
他のヒント
ただ、EmptyGuid変数を作成し、その比較対照ます:
DECLARE @EmptyGuid UniqueIdentifier
SET @EmptyGuid = '00000000-0000-0000-0000-000000000000'
IF (@TheGuid = '00000000-0000-0000-0000-000000000000')
SELECT 'Do Y'
ELSE
SELECT 'Do X'
このも働きます。
DECLARE @EmptyGuid UNIQUEIDENTIFIER = CONVERT(UNIQUEIDENTIFIER, 0x0);
SELECT @EmptyGuid
最善の解決策は、空の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
注:あなたはキャストや変換を使用する必要はありません。
所属していません StackOverflow