sql-server - 如何在SQL Server 表的所有列中选择具有空值的行?

标签 sql-server

我不想像这样放置所有列:

select * 
from tbl_AllTransactiondata 
where column1='' and  column2=''  

因为大约有 16 列,请帮助缩短路径。

我需要在 SQL Server 的所有列中获取所有具有空数据的行。

最佳答案

有趣的问题。我刚刚学到了一些东西。您可以使用 CHECKSUM()。试试这个:

CREATE TABLE #tmp (
 col1 varchar(31) 
,col2 varchar(31)
);

INSERT INTO #tmp (col1,col2) VALUES ('','');

SELECT COUNT(*)
FROM #tmp
WHERE CHECKSUM(*)=CHECKSUM('');

DROP TABLE #tmp;

这将返回结果 1。

因此,如果您从表中执行 SELECT WHERE CHECKSUM(*)=CHECKSUM(''),它将返回所有列均为空字符串的所有行。

关于sql-server - 如何在SQL Server 表的所有列中选择具有空值的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36506115/

相关文章:

sql-server - SQL Server 2012 告诉我 Agent XPs 组件已关闭但 SQL Agent 正在运行

c# - 如何将 xml 导出到数据库 - asp.net

sql - 将 nvarchar 值 'CIS100 ' 转换为数据类型 int 时转换失败

SQL 查找查询结果的大小

sql-server - SSRS 2012 图表未渲染

SQL - 全名中的名字和姓氏

SQL Server : adding a calculated column for end date

sql-server - SQL Server "Index Usage Statistics"报告原因 "incorrect syntax near ' )'"

sql-server - 限制可以在列中输入唯一值的次数

sql - 通过键获取最小/最大值 - 不同的方法