gpt4 book ai didi

SQL Server : ISNULL on uniqueidentifier

转载 作者:行者123 更新时间:2023-12-02 09:54:50 27 4
gpt4 key购买 nike

我正在尝试比较 WHERE 子句中的列 col1 和变量 @myvar。两者通常都包含 GUID,但也可能包含 NULL 值。我认为我可以通过使用 WHERE ISNULL(col1, '')=ISNULL(@myvar, '') 来解决 NULL=NULL 计算结果为 FALSE 的事实。这将比较两个空字符串,并计算结果为 TRUE。

但是,这将产生以下错误消息:

Msg 8169, Level 16, State 2, Line 3 Conversion failed when converting from a character string to uniqueidentifier.

我试过了

DECLARE @myvar uniqueidentifier = NULL
SELECT ISNULL(@myvar,'') as col1

同样的错误消息。

两个问题:首先,我尝试将 uniqueidentifier 变量(即使它具有 NULL 值)转换为(空!)字符串,而不是相反,如错误消息所示。是什么赋予了?

其次,是否有更好的方法来表达我需要的 WHERE 子句,以允许比较可能为 NULL 的唯一标识符?

最佳答案

我认为下面的表达式可用于检查 GUID 列是否为空

CAST(0x0 AS UNIQUEIDENTIFIER)

类似的东西

...WHERE GuidId <>  CAST(0x0 AS UNIQUEIDENTIFIER)

关于SQL Server : ISNULL on uniqueidentifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32280994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com