IF...THEN
ステートメントで を実行するにはどうすればよいですかSQL SELECT
?
例えば:
SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product
ベストアンサー1
このCASE
ステートメントは SQL の IF に最も近いものであり、SQL Server のすべてのバージョンでサポートされています。
SELECT CAST(
CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END AS bit) as Saleable, *
FROM Product
CAST
結果をブール値として取得したい場合にのみ、演算子を使用する必要があります。 で十分な場合はint
、次のようにします。
SELECT CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END as Saleable, *
FROM Product
CASE
ステートメントは他のステートメントに埋め込むことができCASE
、集計に含めることもできます。
SQL Server Denali (SQL Server 2012) では、IIF声明文は、アクセス(指摘:マーティン・スミス):
SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product