5

EXISTS関数の結果を変数に書き込む必要があります。SQL Serverには「bool」変数がないことを読んだので、結果をビット変数に格納したいと思います。また、その逆は「ビット」から「ブール」に変換します。どうすればそれを達成できますか?

4

1 に答える 1

12
DECLARE @bool BIT;

SELECT @bool = CASE WHEN EXISTS (some subquery) THEN 1 ELSE 0 END;

逆の意味がわかりません。SQL Serverにはブールデータ型がないため、BITを何に変換するかわかりません...多分:

SELECT CASE WHEN @bool = 1 THEN 'True' ELSE 'False' END;

IFステートメントでこれを実行しようとしている場合:

IF @bool = 1
BEGIN
  PRINT 'True';
END
ELSE
BEGIN
  PRINT 'False';
END

IF (@bool)代わりに言うことができる速記を探しているならIF (@bool) = 1、申し訳ありませんが、あなたは運が悪いです。これがコードを「最適化」しようとしている場所であり、差し迫った問題がこれ以上ない場合は、その日家に帰ってビールを飲んでください。2人のキャラクターを節約することは、それがあなたを得るよりもすでにあなたに多くの時間を要しました。

于 2012-09-05T22:28:58.943 に答える