式をCREATE TABLE
使用CASE
して計算列を作成する場合、この列のデータ型を明示的に定義しません。
CREATE TABLE OrderDetail
( OrderID INT
, ProductID INT
, Qty INT
, OrderDate DATETIME
, ShipDate DATETIME
, STATUS AS CASE
WHEN shipdate is NULL AND orderdate < DATEADD( dd, -7, GETDATE()) THEN 3
WHEN shipdate is NOT NULL THEN 2
ELSE 1
end
)
GO
SQL Serverはこの列のデータ型をどのように決定しますか?