case when(***) then (***) else 0 end
case when(***) then(***) end
請問這兩種陳述句有什么不同?
uj5u.com熱心網友回復:
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL
DROP TABLE t
GO
CREATE TABLE t(
n INT
)
GO
INSERT INTO t(n) VALUES (1),(2),(3);
---- 以上為測驗表及測驗資料 ------
SELECT
CASE WHEN n>2 THEN 2 ELSE 0 END AS s1,
CASE WHEN n>2 THEN 2 END AS s2,
n
FROM t
--以下結果很明顯:
--如果沒有ELSE, 也就是不給指定值,結果就是 NULL
/*
s1 s2 n
0 NULL 1
0 NULL 2
2 2 3
*/
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/258269.html
標籤:基礎類
上一篇:數倉面試
