簡體   English   中英

如何在SQL Server 2005中標識空白唯一標識符?

[英]How do I identify a blank uniqueidentifier in SQL Server 2005?

我正在將一個uniqueidentifier變成一個看起來像這樣的存儲過程

00000000-0000-0000-0000-000000000000

這看起來很簡單,但如何確定這是一個空白的uniqueidentifier

如果我得到像這樣的值DDB72E0C-FC43-4C34-A924-741445153021我想做X

如果我得到這樣的值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

注意:您不需要使用強制轉換和轉換

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM