检查可空列是不是稀疏或不在 SQL Server 中查询

Posted

技术标签:

【中文标题】检查可空列是不是稀疏或不在 SQL Server 中查询【英文标题】:Check if the nullable column is sparsed or not query in SQL Server检查可空列是否稀疏或不在 SQL Server 中查询 【发布时间】:2014-10-13 15:28:18 【问题描述】:

如何检查某列是否设置为Sparse

我知道如何在创建或更改表时添加稀疏表

ALTER TABLE T1
ALTER COLUMN C1 VARCHAR(50) SPARSE NULL
GO

并且可以对稀疏列执行稀疏查询。但不确定它可能造成的任何危害。只是想知道有什么方法可以检查该列是否已设置为稀疏?

基本上,我正在尝试创建一个脚本,该脚本将确定 sql server 的兼容性级别,如果它支持 Sparse,那么它将检查 “列是否已经稀疏" 如果没有,则需要更改列并添加稀疏。最好能确定NULL 百分比

【问题讨论】:

【参考方案1】:

试试这个:

Select Name, is_sparse from sys.Columns where object_id = object_id('YourTable')

【讨论】:

以上是关于检查可空列是不是稀疏或不在 SQL Server 中查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 oracle 中使可空列不为空

过度使用数据库中的可空列是“代码异味”吗?

csharp Linq加入多个可空列

可空列的行为并非如此

当所述列的值为 NULL 时,我在可空列上使用 JSON_extract 函数的 where 语句得到确认?

通过比较可空列连接三个表