Bru*_*nha 26 sql t-sql sql-server aggregate-functions
如何在T-SQL中对位列使用函数SUM()?
当我尝试这样做时,如下所示:
SELECT SUM(bitColumn) FROM MyTable;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
操作数数据类型位对于sum运算符无效.
Dev*_*art 44
SELECT SUM(CAST(bitColumn AS INT))
FROM dbo.MyTable
Run Code Online (Sandbox Code Playgroud)
需要投入数量
或其他解决方案 -
SELECT COUNT(*)
FROM dbo.MyTable
WHERE bitColumn = 1
Run Code Online (Sandbox Code Playgroud)
t-c*_*.dk 14
您可以将0视为空值并简单地计算剩余值:
SELECT count(nullif(bitColumn, 0))
FROM MyTable;
Run Code Online (Sandbox Code Playgroud)
小智 13
SELECT SUM(bitColumn * 1) FROM dbo.MyTable
Run Code Online (Sandbox Code Playgroud)
将位转换为整数,通过乘法,干净简单
您可以使用来实现CONVERT,
SELECT SUM(CONVERT(INT, bitColumn)) FROM MyTable
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22709 次 |
| 最近记录: |