【SQL Server】【SQL】CASE式が使用できる場所

CASE式が使用できる場所

・SELECT句
・GROUP BY句
・WHERE句
・ORDER BY句
・UPDATE文のSET句

※他の場所でも使用できるかも

使用例(準備)

--社員テーブル
CREATE TABLE Employee(
	[Id] NVARCHAR(30) NOT NULL PRIMARY KEY,
	[Name] NVARCHAR(30) NOT NULL,
	[Department_ID] NVARCHAR(30),
)

--データをINSERT
INSERT INTO Employee VALUES ('20200405001','鈴木','001')
INSERT INTO Employee VALUES ('20200405002','佐藤','001')
INSERT INTO Employee VALUES ('20200405003','加藤','001')

INSERT INTO Employee VALUES ('20210405001','田中','001')
INSERT INTO Employee VALUES ('20210405002','吉田','001')

--INSERTされたことを確認
SELECT * FROM Employee

使用例

●SELECT句とGROUP BY句で使用

SELECT 
	CASE
		WHEN Id LIKE '2020%' THEN '入社日が2020年'
		WHEN Id LIKE '2021%' THEN '入社日が2021年'
	END,
	COUNT(*)
FROM Employee
GROUP BY
	CASE
		WHEN Id LIKE '2020%' THEN '入社日が2020年'
		WHEN Id LIKE '2021%' THEN '入社日が2021年'
	END

後片付け

--社員テーブル
DROP TABLE Employee

タイトルとURLをコピーしました