SQLのiif文の詳しい説明

黄舟
リリース: 2017-02-20 11:50:24
オリジナル
4290 人が閲覧しました

[はじめに] IIf は、論理テストによって決定された 2 つの数値または文字列値のうちの 1 つを返します。 構文 Numeric IIf(«論理式», «数値式1», «数値式2») If «Logica

IIf
論理テストによって決定された 2 つの数値または文字列値の 1 つを返します。

構文
数値

IIf(«Logical Expression», «Numeric Expression1», «Numeric Expression2»)
ログイン後にコピー

「論理式」が TRUE の場合、この関数は「数値式 1」を返し、それ以外の場合は「数値式 2」を返します。

文字列

IIf(«Logical Expression», «String Expression1», «String Expression2»)
ログイン後にコピー

「論理式」が TRUE と評価された場合、この関数は「文字列式 1」を返し、それ以外の場合は「文字列式 2」を返します。

注意事項
この式は、「論理式」の値が 0 の場合にのみ FALSE とみなされます。他の値はすべて TRUE として解釈されます。
Iif 関数を使用して、検索条件に基づいてメンバーのコレクションを作成することはお勧めできません。代わりに、Filter 関数を使用して、指定されたコレクションの各メンバーを論理式に対して評価し、メンバーのサブコレクションを返します。


Number
次の例は、Measures.CurrentMember が空のセルの場合は 0 を返し、それ以外の場合は 1 を返します:

IIf(IsEmpty(Measures.CurrentMember), 0, 1)
ログイン後にコピー

String
Measures.CurrentMember が空のセルの場合、次の文字列は文字列 "Yes" " を返し、それ以外の場合は文字列を返します。文字列 "No" が返されます:
IIf(IsEmpty(Measures.CurrentMember), "Yes", "No")

Access では、IIF 関数を統計的な要約に使用できます。たとえば、実際の手数料を知ることができます。ユーザー数:



Select sum(iif(amount>0, 1,0)) as num from 料金
SQL Server には対応する関数がないようです、私は使用します:
select sum(case) when amount >0 then 1 else 0 end) as num from コスト
はあまり直感的ではないようですが、他の方法はあるのかな

case when ....then else end
例:

select id,case when bz='1' then xx when bz='2' then yy else zz end as tt from xxx
ログイン後にコピー

MIDはどうですか、左など? SQLでどうやって使うのでしょうか?
MID は SQL の部分文字列です
LEFT は SQL の LEFT です
たとえば、部分文字列 (フィールド、開始位置、長さ)
left (フィールド、長さ)

SUBSTRING (式、開始、長さ)
パラメータ

文字列、バイナリ文字列、テキスト、イメージ、列、または列を含む式です。集計関数を含む式は使用しないでください。

start
は、部分文字列の開始位置を指定する整数です。

length
は、部分文字列の長さ (返される文字数またはバイト数) を指定する整数です。


LEFT
文字列の左側から指定された数の文字を返します。

構文

LEFT ( character_expression , integer_expression )
ログイン後にコピー



パラメータ
character_expression

文字またはバイナリデータ式。 Character_expression には、定数、変数、または列を指定できます。 Character_expression は、暗黙的に varchar に変換できるデータ型である必要があります。それ以外の場合は、CAST 関数を使用して、character_expression を明示的に変換します。

integer_expression
は正の整数です。 integer_expression が負の場合、空の文字列が返されます。

戻り値の型
varchar

上記は SQL の iif ステートメントの詳細な説明です。さらに関連する内容については、PHP 中国語 Web サイト (m.sbmmt.com) を参照してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート