- CASEステートメントの書式 CASEステートメントでは、いくつかのキーワードを特定の順番に配置する必要があります。
WHEN 条件は必要なだけ含めることができますが、それぞれの WHEN には THEN が必要です。
-
DATEの書式
使用できる関数は、
DATE_FORMAT()とSTR_TO_DATE()です。STR_TO_DATE()関数を使用する場合は、関数が日付タイプに適切に変換できるように、文字列の列と同じ書式を使用する必要があります。 日付タイプに変換する必要のある文字列型の列Dateがあります。値の書式は、MM-DD-YYYYです。値の書式がYY/DD/MMとなっている場合は、日付タイプの列があり、書式を変更する場合は、date_format()関数を使用します。この関数では、必要に応じて任意の日付形式で生成できます。 「Date」列の書式はDD-MM-YYであるが、MM-DD-YYYYで表示する場合は、次の関数を使用します。使用する日付の形式指定子(%mや%yなど)についての詳細は、「 Beast Modeでの日付の形式指定文字列 」を参照してください。 -
フィールド名(`)と文字列の値(‘)と数値。
Beast Modeでは、実際のフィールド名はバッククォート(`)を使って参照されます。ハード文字列値を入力する場合は単一引用符(‘)が必要ですが、数値の参照には引用符は不要です。
注記: 数値の前後に単一引用符(‘)を付けるとエラーには ならず 、文字列タイプの列として1と0で出力されます。
-
文字列と日付の比較
DATE_FORMAT()関数を使用すると、値がvarcharデータタイプ(文字列)に変換されます。これは、値を日付として比較などに使用できなくなるため、問題となります。DATE_FORMAT()関数を使用した後も、列をdate形式にする場合は、STR_TO_DATE()を使用して日付タイプに変換し直す必要があります。 次のBeast Modeを使用すると、出力は文字列タイプの列になります。文字列を日付に変換するには、Beast Mode全体をSTR_TO_DATE()関数にラップします。日付列に変換する文字列の列があり、別の書式を設定する場合は、内側から処理されるため、YY-MM-DD形式の列が、最初に日付に変換されます。列をMM-DD-YYYY形式で表示するために、DATE_FORMAT()を使用して変換します。ただし、ここではまだ文字列タイプの列のままです。最後に、 STR _TO_DATE() 関数を使用して、日付タイプに戻します。 -
Trim関数の使用
値の前後に不要なスペースが残ることがよくあります。これは、正確な値を呼び出す数式を使用する場合に、問題となります。
trim()関数では、不要な余白を削除できます。Zipcode列には、‘12345 ‘のように余白を含む値が含まれます。COUNT()関数を使用する場合などは、値に余白があることを把握しておくことが非常に重要です。COUNT()は、文字列内の文字数を余白を含めてカウントします。最初にtrim()関数を使用すれば、Zipcode値の実際の文字数だけを数えることができます。