タグ付けされた質問 「case」

5
SQL Server CASEステートメントはすべての条件を評価するか、最初のTRUE条件で終了しますか?
SQL Server(具体的には2008または2012)CASEステートメントはすべてのWHEN条件WHENを評価しますか、またはtrueと評価される句を見つけると終了しますか?条件のセット全体を通過する場合、真と評価された最後の条件が真と評価された最初の条件が上書きしたことを意味しますか?例えば: SELECT CASE WHEN 1+1 = 2 THEN'YES' WHEN 1+1 = 3 THEN 'NO' WHEN 1+1 = 2 THEN 'NO' END 最後のwhen条件により「NO」と評価されるはずですが、結果は「YES」です。最初のTRUE条件が見つかると終了するようです。誰かがこれが事実であるかどうか確認してください。
44 sql-server  t-sql  case 

1
負の値とゼロの値を含む列の行を乗算する方法は?
クエリでグループ化された特定の列のすべての行の積を取得しようとしています。私は組み合わせ方のポイントに私を見つけたほとんどの例exp、sumおよびlog exp(sum(log([Column A]))) 私が抱えている問題は、列に値のゼロが含まれているため、log関数にゼロが渡されたときにこのエラーが発生することです。 無効な浮動小数点演算が発生しました。 case式を使用してこれを回避できると思いましたが、すべてのケースを評価しているように見えるので、それは私が思っているように機能しません... select Name, Product = case when min([Value]) = 0 then 0 when min([Value]) <> 0 then exp(sum(log(I))) -- trying to get the product of all rows in this column end from ids group by Name SqlFiddle 次の結果セットがあるとします。 Id Name Value _________________________________ 1 a 1 …

1
CASEステートメントのnull値
私は70-461試験に向けて勉強しているときにSSMSでいくつかのことをさらに学習するために遊んでいて、少しハングアップに遭遇しました。私は、いじくり回すためのテーブルを作成しようとしているので、AdventureWorksまたはTSQL2012データベースで既に作成されているテーブルを変更/削除する必要はありません。実際に使用するテーブルを作成する前に、コードをテストするための一時テーブルを作成しました。これは、テーブルに値を挿入するために使用するコードです。 DECLARE @i INT = 1 WHILE @i < 10 BEGIN INSERT INTO #TestEmployeeCountry VALUES ( SUBSTRING('ABCDEFGHIJKLMNOP', @i, 1), CASE (SELECT ABS(CHECKSUM(NEWID()))%10 +1) WHEN 1 THEN 'USA' WHEN 2 THEN 'CANADA' WHEN 3 THEN 'MEXICO' WHEN 4 THEN 'UK' WHEN 5 THEN 'FRANCE' WHEN 6 THEN 'SPAIN' WHEN 7 THEN …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.