2012-03-24 11 views
-4

caseステートメント内の関数を呼び出すことはできますか?case文の中で関数を呼び出すことは可能ですか?

例:

(CASE WHEN (((POWER((1+x1/x2),Term) - 1) > 0) THEN 
    10 ELSE dbo.fnx(x1,x2,x3) END) as [123] 
+8

簡単な方法あなたがエラーを取得した場合は試してみてください。>>>あなたはできません。それはあなたが質問されているので、さらに迅速です。 – gdoron

+2

あなたはもっと学びます! –

+2

あなたはそれを試して何が起こったのですか? – dldnh

答えて

3

タフあなたはそれを試みることができる...

input_expression input_expression

CASEは、単純なCASE形式を使用する場合に評価された式です。 input_expressionは任意の有効な式です。

  • 定数
  • 機能 < ====
  • コラム:式は以下のいずれかとすることができる有効な式?:

    は何

    名前

  • Variabl電子
  • サブクエリ
  • CASE、NULLIF、または

リソースCOALESCE:もちろん

caseexpressions

+0

(ストアドプロシージャはそのリストにはありません*)*とにかくMSDNソースへのリンクがありますか? –

0

をあなたは、あなたがブラケットが欠落していることができます。

(CASE WHEN (((POWER((1+x1/x2),Term) - 1) > 0)) THEN 
10 ELSE dbo.fnx(x1,x2,x3) END) as [123] 

それはあなたの問題を解決しない場合は、あなたが

EDITユーザーの権限を調査することができます:あなたはあまりにも多くのブラケットを持っている考え直しで

、これははるかに読みやすいです:

CASE WHEN POWER(1+x1/x2,Term) - 1 > 0 THEN 
10 ELSE dbo.fnx(x1,x2,x3) END as [123] 
関連する問題