问题标签 [null-uniqueidentifier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4591 浏览

sql-server - 在 SQL Server 和强类型数据集中处理空 GUID

我在 SQL Server 中有一个表:

ParentCategoryID 用于在 CategoryID 中保存一个值,以指示哪个类别是父类别。如果它没有父类(即它是顶级类别),则 ParentCategoryID 应该为空。

我正在使用强类型数据集(表适配器),并且对于 ParentCategoryID 的属性,它不允许它为空。我试图更改类型化数据集中字段的属性,但它说试图使 guid “空”或“无”是无效的。唯一的选择是在 null 上引发异常。这会导致错误:

表 'Categories' 中列 'ParentCategoryID' 的值为 DBNull。

是这样吗,还是有办法在使用类型化数据集时处理空 GUID/唯一标识符?

0 投票
2 回答
1993 浏览

php - 从数据库检索时,Doctrine SQL Server uniqueidentifier 不会转换为 char 或 nvarchar

当我从数据库中检索具有“uniqueidentifier”类型列的记录时,Doctrine 用“null”而不是数据库中的唯一 id 填充它。

一些研究和测试已将此归结为 PDO/dblib 驱动程序问题。通过 PDO 直接查询时,返回 null 代替唯一 id。

作为参考,http ://trac.doctrine-project.org/ticket/1096 对此有所了解,但是,它在 11 个月前更新,没有评论解决问题。

如http://bugs.php.net/bug.php?id=24752&edit=1所述,解决此问题的一种方法是将列转换为字符。但是,Doctrine 似乎没有在生成模型之外公开本机字段类型,这使得在构建 sql 查询时检测 uniqueidentifier 类型并在内部强制转换它们有点困难。

有没有人找到解决方法?

0 投票
2 回答
7624 浏览

sql - TSQL 比较 2 个唯一标识符值未按预期工作

我正在尝试比较 2 个 uniqueidentifier 值,如下面的查询所示。但是,如果一个值为空而一个值不是,结果是“相同的”?!我确信这两个值都是唯一标识符,并且还尝试将这两个值都转换为唯一标识符以确保绝对确定。正在比较的 2 个值来自具有不同排序规则的不同数据库。排序有什么区别吗?任何想法,将不胜感激。

如果我将 <> 替换为 =,则查询会认为 2 个空值不匹配。

编辑:

我用了: