エラーの発生例
--bit型の列に対して min と max 演算子
SELECT MIN([BitData]) --bit型
,MAX([BitData]) --bit型
FROM [SampleTable]
エラーメッセージ
「オペランドのデータ型 bit は min 演算子では無効です。」

bit 列で min, max 演算子を使用する方法
CAST または CONVERT 関数で int型に変換してから min, max 演算子を使用します。次のSQLは型変換後に min, max 演算子を使用しているため、エラーは発生しません。CAST関数を使用した例
--CAST関数でint型に変換してから min と max 演算子
SELECT MIN(CAST([BitData] AS int))
,MAX(CAST([BitData] AS int))
FROM [SampleTable];
CONVERT関数を使用した例
--CONVERT関数でint型に変換してから min と max 演算子
SELECT MIN(CONVERT(int, [BitData]))
,MAX(CONVERT(int, [BitData]))
FROM [SampleTable];

参考資料
- Microsoft 公式ドキュメント - MIN(Transact-SQL)
- Microsoft 公式ドキュメント - MAX(Transact-SQL)
- Microsoft 公式ドキュメント - CAST および CONVERT (Transact-SQL)
検証環境
- Microsoft SQL Server 2022 (RTM-CU5) (KB5026806) - 16.0.4045.3 (X64) May 26 2023 12:52:08 Copyright (C) 2022 Microsoft Corporation Express Edition (64-bit) on Linux (Ubuntu 20.04.6 LTS) <X64>
- Docker image: mcr.microsoft.com/mssql/server:2022-latest
- Docker Desktop 4.21.1(114176)
- Docker Compose v2.19.1
- Docker Engine 24.0.2
- Microsoft SQL Server Management Studio v19.0.1(19.0.20200.0+9286509b)
- Windows 10 Enterprise Version 22H2 OS Build 19045.3086 Experience: Windows Feature Experience Pack 1000.19041.1000.0