これまでの New to NetSuite | SuiteQL Overview および New to NetSuite | Understanding SuiteQL Syntax の記事では、SuiteQLの基本的な概念、機能、および構造について説明しました。
高度なクエリ向けの SuiteQL 構文では、単純な選択や結合にとどまらず、データベース内で堅牢かつ柔軟な分析クエリを実行できます。SuiteQL の機能は標準 SQL と類似しています(一部、NetSuite 固有の制約があります)。こうした高度な機能の 1 つが NVL2 です。
NVL2 は、値が NULL か NULL でないかを確認し、フィールドにデータが含まれている場合は 1 つの値を返し、フィールドが空(NULL)の場合は別の値を返す関数です。
構文
NVL2(expression, value_if_not_null, value_if_null)
例
NVL2(transaction.memo, 'Has Memo', 'No Memo')
これは次のことを意味します。
- transaction.memo が NULL でない場合 - 'Has Memo' を返します
- transaction.memo が NULL の場合 - 'No Memo' を返します
たとえば、SuiteQL では次のようになります。
SELECT
id, -- 顧客の内部 ID を返します
NVL2(
email, -- email フィールドが NULL かどうかを確認します
email, -- email が NULL でない場合、メールアドレスを返します
'No email' -- email が NULL の場合、テキスト 'No email' を返します
) AS email_display -- 結果の列に "email_display" という名前を付けます
FROM customer -- customer テーブルからレコードを取得します
免責事項: ここに記載されているサンプルコードは、法律で許可される最大限の範囲で、いかなる種類の保証もなく「現状のまま」提供されます。Oracle + NetSuite Inc. は、サンプルコードの開発プラットフォームへの実装や、独自のWebサーバー構成の使用において、開発者の個々の成功を保証または保証しません。
Oracle + NetSuite Inc. は、サンプルコードに関連するデータまたは情報の使用、使用結果、正確性、適時性、完全性に関して、いかなる保証も行わず、すべての保証(明示的または黙示的)を否認します。特に、商品性、特定の目的への適合性、コードに関連するサービスまたはソフトウェアに関する保証を否認します。
Oracle + NetSuite Inc. は、サンプルコードに関連する行動から生じるいかなる種類の直接的、間接的または結果的な損害や費用についても責任を負いません。
SuiteCloud製品領域のSuiteQL構文の使用方法に関する今後の記事を引き続き確認するには、「NetSuiteの始め方 」 > SuiteCloud カテゴリをフォローして、新しい記事が公開されるたびに通知を受け取りましょう。
免責事項:
この記事は、AI支援による翻訳ツールを使用して翻訳され、言語品質のレビューを実施しています。AIは記事本文およびサポートガイダンスの作成には使用されていません。