2017-01-15 10 views
0

私はMySQLを使用し、SQL SELECTで一様でない関数の結果を出力する必要があります。すなわち 、SQL SELECT(MySQL)の条件チェック機能?

  • 値が一定数以下である場合、列は、私は、SELECT文
  • 内部出力に列Bに1つの代数的補正を必要とし、それが上記である場合、別の。

代数的補正は「平滑」であるとは限りません。したがって、IFのような記述が必要です。

これらのすべてをインラインで実行したいと思います。カスタム関数を作成します。これは維持しやすくなります。

SELECT内でこの「ステップ」補正を行うには、どのような構文が最適でしょうか?

+1

私たちは通常、そのために 'CASE'文を使用します)。 –

答えて

2

CASEという表現を使ってこれを達成できると思います。このような何か:

ここ
SELECT *, 
     CASE WHEN A < threshhold THEN exp_1(B) ELSE exp_2(B) END AS some_col, 
FROM yourTable 

あなたが列Bを含む実際の表現でexp_1(B)exp_2(B)を置き換えます。