注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Handlebars ヘルパー

ヘルパーは、Handlebars テンプレート内から呼び出せる定義済みの関数です。ヘルパーには名前、パラメーター、戻り値があります。たとえば、テンプレート {{add 5 var1}} は、整数(5)と var1 という変数を引数にして add ヘルパーを呼び出します。var1 が7に設定されている場合、テンプレートの評価結果は12になります。

ヘルパーは、次のいずれかのカテゴリーに分類されます。

  • 組み込みヘルパー - Handlebars ライブラリーが提供するヘルパー
  • コアヘルパー - クエリとウィジェット内で利用可能
  • ウィジェットヘルパー - ウィジェット内でのみ利用可能
  • Foundry ヘルパー - Foundry クエリ内でのみ利用可能
  • SQL ヘルパー - SQL クエリ内でのみ利用可能

ヘルパーは、Functions エディターでは使用できません。

組み込みヘルパー

Handlebars ライブラリーの次のヘルパーが利用可能です。各ヘルパーの詳細については、Handlebars ドキュメント ↗ を参照してください。

コアヘルパー

クエリおよびウィジェット内では、次のコアヘルパーを利用できます。

toString

toString ヘルパーは、JavaScript String() ↗ 関数を使用して、指定された任意の値を文字列に変換します。

例

  • 文字列に toString を使用する
    • {{toString 'hello'}} は「hello」と表示されます。
  • 数値に toString を使用する
    • {{toString 1}} は「1」と表示されます。
  • 文字列配列に toString を使用する
    • コンテキストが { variable: ["hello", "world"] } の場合、{{toString variable}} は「hello,world」と表示されます。
  • 数値配列に toString を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{toString variable}} は「1,2,3」と表示されます。
  • オブジェクトに toString を使用する
    • コンテキストが { variable: {"hello": "world"} } の場合、{{toString variable}} は「[Object Object]」と表示されます。

toNumber

toNumber ヘルパーは、JavaScript Number() ↗ 関数を使用して、指定された任意の値を数値に変換します。値を数値に変換できない場合は、NaN を返します。

例

  • 数値に toNumber を使用する
    • {{toNumber 1}} は1と表示されます。
  • 数値を表す文字列に toNumber を使用する
    • {{toNumber '2'}} は2と表示されます。
  • 数値を表さない文字列に toNumber を使用する
    • {{toNumber 'hello'}} は NaN と表示されます。
  • 配列に toNumber を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{toNumber variable}} は NaN と表示されます。
  • オブジェクトに toNumber を使用する
    • コンテキストが { variable: {"hello": "world"} } の場合、{{toNumber variable}} は NaN と表示されます。

concat

concat ヘルパーは、任意の数の引数を受け取り、まず JavaScript String() 関数で各引数を文字列に変換してから連結します。

例

  • 2個の数値に concat を使用する
    • {{concat 1 2}} は「12」と表示されます。
  • 2個の文字列と1個の数値に concat を使用する
    • {{concat 'hello' 'world' 2}} は「helloworld2」と表示されます。
  • 2個の文字列配列に concat を使用する
    • コンテキストが { array1: ["hello", "world"], array2: ["again", "and again"] } の場合、{{concat array1 array2}} は「helloworldagainand again」と表示されます。
  • 3個の数値と1個のオブジェクトに concat を使用する
    • コンテキストが { variable: {"hello": "world"} } の場合、{{concat 1 2 3 variable}} は「123[Object Object]」と表示されます。

substring

substring ヘルパーは、入力文字列(value)、開始位置、および終了位置(任意)を受け取り、JavaScript substring() 関数に渡します。これにより、入力文字列の部分文字列を取得できます。

例

  • 文字列に substring を使用する
    • {{substring 'foo' 0 1}} は「f」と表示されます。
  • 入力文字列が終了位置よりも短い場合は、入力文字列を返します。
    • {{substring 'foo' 0 6}} は「foo」と表示されます。
  • 終了インデックスを指定しない場合
    • {{substring 'foo' 1}} は「oo」と表示されます。

contains

contains ヘルパーは、配列または文字列(value)と検索対象の値(searchValue)を受け取り、その値が配列内にある場合に true を返し、それ以外の場合は false を返します。これは、value.indexOf(searchvalue) !== -1 を呼び出すことで行われます。

例

  • 配列に contains を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{contains variable 3}} は true と表示されます。
  • 文字列に contains を使用する
    • コンテキストが { variable: "hello world" } の場合、{{contains variable "hello"}} は true と表示されます。

jsonParse

jsonParse ヘルパーは、JSON 文字列を入力として受け取り、JavaScript の JSON.parse ↗ 関数を使用してパースします。

例

  • JSON 形式の文字列に変換された文字列に jsonParse を使用する
    • {{jsonParse '\"foo\"'}} は「foo」と表示されます。
  • JSON 形式の文字列に変換された配列に jsonParse を使用する
    • コンテキストが "[\"hello\",\"world\"]" の場合、{{jsonParse varA}} は ["hello", "world"] と表示されます。
  • JSON 形式の文字列に変換されたオブジェクトに jsonParse を使用する
    • コンテキストが "{\"varA\":{\"hello\":\"world\",\"foo\":[\"bar\",\"baz\"]}}" の場合、{{jsonParse varA}} は { varA: {"hello": "world", "foo": ["bar", "baz"]} } と表示されます。
  • 数値に jsonParse を使用する
    • {{jsonParse 123}} はエラーをスローし、コンソールに「jsonParse: Error: value must be a string」と表示されます。
  • 無効な JSON 文字列に jsonParse を使用する
    • コンテキストが "[\"hello\"," の場合、{{jsonParse varA}} はエラーをスローし、コンソールに「jsonParse: SyntaxError: Unable to parse JSON string」と表示されます。

jsonStringify

jsonStringify ヘルパーは、任意のオブジェクトを入力として受け取り、JavaScript の JSON.stringify ↗ 関数に渡して JSON に変換したオブジェクトを返します。

例

  • 文字列に jsonStringify を使用する
    • {{jsonStringify 'foo'}} は "foo" と表示されます(表示されるテキストには二重引用符が含まれます)。
  • オブジェクトに jsonStringify を使用する場合、コンテキストが { varA: {"hello": "world", "foo": ["bar", "baz"]} } であれば、{{jsonStringify varA}} は {"hello":"world","foo":["bar","baz"]} と表示されます(この場合も、表示されるテキストには二重引用符が含まれます)。

add

add ヘルパーは、2個の数値を足し合わせます。

例

  • 2個の数値で add を使用する
    • {{add 20 5}} は25と表示されます。
  • 数値ではない値に add を使用する
    • {{add 10 'abc'}} はエラーをスローし、コンソールに「value must be a number」と表示されます。

subtract

subtract ヘルパーは、1個目の数値から2個目の数値を減算します。

例

  • 2個の数値で subtract を使用する
    • {{subtract 20 5}} は15と表示されます。
  • 数値ではない値に subtract を使用する
    • {{subtract 10 'abc'}} はエラーをスローし、コンソールに「value must be a number」と表示されます。

multiply

multiply ヘルパーは、2個の数値を乗算します。

例

  • 2個の数値で multiply を使用する
    • {{multiply 20 5}} は100と表示されます。
  • 数値ではない値に multiply を使用する
    • {{multiply 10 'abc'}} はエラーをスローし、コンソールに「value must be a number」と表示されます。

divide

divide ヘルパーは、1個目の数値を2個目の数値で除算します。

例

  • 2個の数値で divide を使用する
    • {{divide 20 5}} は4と表示されます。
  • 数値ではない値に divide を使用する
    • {{divide 10 'abc'}} はエラーをスローし、コンソールに「value must be a number」と表示されます。

max

max ヘルパーは、指定された任意の数値または数値配列から最大値を求めます。

例

  • 数値配列で max を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{max variable}} は3と表示されます。
  • 数値配列と2個の数値で max を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{max variable 12 15}} は15と表示されます。
  • 文字列で max を使用する
    • {{max 'hello' 123}} はエラーをスローし、コンソールに「value must be a number or a number array」と表示されます。
  • 無効な配列で max を使用する
    • コンテキストが { variable: ["hello", "world"] } の場合、{{max variable}} はエラーをスローし、コンソールに「value must be a number or a number array」と表示されます。

min

min ヘルパーは、指定された数値または数値の配列から最小値を求めます。

例

  • 数値の配列で min を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{min variable}} は 1 と表示されます
  • 数値の配列と2個の数値で min を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{min variable 6 10}} は 1 と表示されます
  • 文字列で min を使用する
    • {{min 'hello' 123}} は、コンソールに「value must be a number or a number array」というエラーを出します
  • 無効な配列で min を使用する
    • コンテキストが { variable: ["hello", "world"] } の場合、{{min variable }} は、コンソールに「value must be a number or a number array」というエラーを出します

eq

eq ヘルパーは、2個の数値または文字列を比較し、等しいかどうかを確認します

例

  • 2個の数値で eq を使用する

    • {{eq 1 1}} は true と表示されます
  • 数値でも文字列でもない値、またはデータ型が異なる値で eq を使用する

    • {{eq [1, 2] 5}} は、コンソールに「type mismatch」というエラーを出します
  • if ブロック内で eq を使用する

    {{#if (eq name 'Steven')}}
      Your name is Steven.
    {{else}}
      Your name is not Steven.
    {{/if}}
    

    コンテキストが { name: "Steven" } の場合、「Your name is Steven.」と表示されます

ne

ne ヘルパーは、2個の数値または文字列を比較し、異なるかどうかを確認します

例

  • 2個の数値で ne を使用する
    • {{ne 1 1}} は false と表示されます
  • 数値でも文字列でもない値、またはデータ型が異なる値で ne を使用する
    • {{ne [1, 2] 5}} は、コンソールに「type mismatch」というエラーを出します

lt

lt ヘルパーは、2個の数値または文字列を比較し、1個目が2個目より小さいかどうかを確認します。

例

  • 2個の数値で lt を使用する
    • {{lt 1 2}} は true と表示されます
  • 数値でも文字列でもない値、またはデータ型が異なる値で lt を使用する
    • {{lt [1, 2] 5}} は、コンソールに「type mismatch」というエラーを出します

le

le ヘルパーは、2個の数値または文字列を比較し、1個目が2個目以下かどうかを確認します。

例

  • 2個の数値で le を使用する
    • {{le 1 1}} は true と表示されます
  • 数値でも文字列でもない値、またはデータ型が異なる値で le を使用する
    • {{le [1, 2] 5}} は、コンソールに「type mismatch」というエラーを出します

gt

gt ヘルパーは、2個の数値または文字列を比較し、1個目が2個目より大きいかどうかを確認します。

例

  • 2個の数値で gt を使用する
    • {{gt 2 1}} は true と表示されます
  • 数値でも文字列でもない値、またはデータ型が異なる値で gt を使用する
    • {{gt [1, 2] 5}} は、コンソールに「type mismatch」というエラーを出します

ge

ge ヘルパーは、2個の数値または文字列を比較し、1個目が2個目以上かどうかを確認します。

例

  • 2個の数値で ge を使用する
    • {{ge 1 1}} は true と表示されます
  • 数値でも文字列でもない値、またはデータ型が異なる値で ge を使用する
    • {{ge [1, 2] 5}} は、コンソールに「type mismatch」というエラーを出します

encodeURI

encodeURI ヘルパーは、JavaScript encodeURI() ↗ 関数で、指定された文字列をエンコードします。

例

  • 文字列で encodeURI を使用する
    • {{encodeURI 'hello world?'}} は「hello%20world?」と表示されます
  • 文字列ではない値で encodeURI を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{encodeURI variable}} は、コンソールに「value must be a string」というエラーを出します

encodeURIComponent

encodeURIComponent ヘルパーは、JavaScript encodeURIComponent() ↗ 関数で、指定された文字列をエンコードします。

例

  • 文字列で encodeURIComponent を使用する
    • {{encodeURIComponent 'hello world?'}} は「hello%20world%3F」と表示されます
  • 文字列ではない値で encodeURI を使用する
    • コンテキストが { variable: [1, 2, 3] } の場合、{{encodeURIComponent variable}} は、コンソールに「value must be a string」というエラーを出します

getSelectedDisplayValue

getSelectedDisplayValue ヘルパーは、指定された values と selectedValue に基づいて、displayValues から selectedDisplayValue を取得します。

例

  • values、displayValues、selectedValue で getSelectedDisplayValue を使用する
    • コンテキストが { values: [1, 2, 3], displayValues: ["a", "b", "c"], selectedValue: 2 } の場合、{{getSelectedDisplayValue values displayValues selectedValue}} は ["b"] を返します
  • values または displayValues が配列ではない場合に getSelectedDisplayValue を使用する
    • コンテキストが { values: "hello", displayValues: ["a", "b", "c"], selectedValue: 2 } の場合、{{getSelectedDisplayValue values displayValues selectedValue}} は、コンソールに「values must be an array」というエラーを出します
  • selectedValue が values に含まれない場合に getSelectedDisplayValue を使用する
    • コンテキストが { values: [1,2,3], displayValues: ["a", "b", "c"], selectedValue: 4 } の場合、{{getSelectedDisplayValue values displayValues selectedValue}} は、コンソールに「selectedValue '4' is not in values」というエラーを出します

getSelectedDisplayValues

getSelectedDisplayValues ヘルパーは、指定された values と selectedValues に基づいて、displayValues から selectedDisplayValues を取得します。

例

  • values、displayValues、selectedValues で getSelectedDisplayValues を使用する
    • コンテキストが { values: [1, 2, 3], displayValues: ["a", "b", "c"], selectedValues: [2, 3] } の場合、{{getSelectedDisplayValues values displayValues selectedValues}} は ["b", "c"] を返します
  • values、displayValues、selectedValues のいずれかが配列ではない場合に getSelectedDisplayValues を使用する
    • コンテキストが { values: "hello", displayValues: ["a", "b", "c"], selectedValues: 2 } の場合、{{getSelectedDisplayValues values displayValues selectedValues}} は、コンソールに「values must be an array」というエラーを出します
  • values に含まれない selectedValue がある場合に getSelectedDisplayValues を使用する
    • コンテキストが { values: [1,2,3], displayValues: ["a", "b", "c"], selectedValues: [4] } の場合、{{getSelectedDisplayValues values displayValues selectedValues}} は、コンソールに「selectedValue '4' is not in values」というエラーを出します

lookup

lookup ヘルパーは、組み込みの Handlebars lookup ↗ の派生版を使用しており、Handlebars のドキュメントに記載されている方法で使用できます。また、Slate の lookup の派生版では、以下の例のように、プロパティの長い連鎖を記述できます。

例

  • コンテキストが { a: { b: { c: "test" } } } の場合、{{lookup a "b" "c"}} は「test」を返します

and

and ヘルパーは、指定されたブール引数に対して AND (&&) の論理比較を実行します。少なくとも2個の引数が必要です。

例

  • コンテキストが { var1: true, var2: false } の場合、{{and var1 var2}} は「false」と表示されます

or

or ヘルパーは、指定されたブール引数に対して OR (||) の論理比較を実行します。少なくとも2個の引数が必要です。

例

  • コンテキストが { var1: true, var2: false } の場合、{{or var1 var2}} は「true」と表示されます

not

not ヘルパーは、指定されたブール引数に対して NOT (!) の論理比較を実行します。適用できる引数は1個だけです。

例

  • コンテキストが { var : true } の場合、{{not var}} は「false」と表示されます

ウィジェットヘルパー

ウィジェット内では、次のウィジェットヘルパーを利用できます。

formatNumber

formatNumber ヘルパーは、Numeral.js ↗ ライブラリを使用して、指定された数値を文字列に整形します。値は数値、書式は文字列である必要があります。

例

  • 数値に formatNumber を使用する
    • {{formatNumber 1400 '0,0'}} は「1,400」と表示されます
      • 数値の書式設定のその他の例については、Numeral.js ライブラリを参照してください。
  • 数値ではない値に formatNumber を使用する
    • {{formatNumber 'abc' '0,0'}} は、コンソールに「value must be a number」というエラーを出力します
  • 無効な書式(文字列ではない書式)で formatNumber を使用する
    • コンテキストが { variable: ["hello": "world"] } の場合、{{formatNumber 1400 variable}} は、コンソールに「format must be a string」というエラーを出力します

formatDate

formatDate ヘルパーは、Moment.js ↗ ライブラリを使用して、指定された日付を文字列に整形します。値は日付、書式は文字列である必要があります。

例

  • 文字列に formatDate を使用する
    • {{formatDate '2014-1-2' 'MM/DD/YYYY'}} は「01/02/2014」と表示されます
      • 日付の書式設定のその他の例については、Moment.js ライブラリを参照してください。
  • 数値に formatDate を使用する
    • {{formatDate 1237705200000 'YYYY-MM-DD'}} は「2009-03-22」と表示されます
      • 日付の書式設定のその他の例については、Moment.js ライブラリを参照してください。
  • 無効な日付文字列の値に formatDate を使用する
    • {{formatDate 'some string' 'YYYY-MM-DD'}} は、コンソールに「value must be a valid date」というエラーを出力します
  • 無効な書式(文字列ではない書式)で formatDate を使用する
    • コンテキストが { variable: ["hello": "world"] } の場合、{{formatDate '2014-1-2' variable}} は、コンソールに「format must be a string」というエラーを出力します

Foundry ヘルパー

HttpJson Foundry クエリ内では、次のヘルパーを利用できます。

joinParams

joinParams ヘルパーは、パラメーターの配列を受け取り、単一引用符で囲まれたパラメーターを , で連結します。

例

  • 文字列の配列で joinParams を使用する
    "SELECT * FROM `table1` WHERE name IN ({{joinParams names}})"
    
    コンテキストが { names: ["Bill", "John J.", "Sam's", "Jay"] } の場合、 次のように表示されます。
    "SELECT * FROM `table1` WHERE name IN ('Bill', 'John J.', 'Sam\'s', 'Jay')"
    
  • 文字列で joinParams を使用する
    "SELECT * FROM table1 WHERE name IN ({{joinParams name}});"
    
    コンテキストが { name: "Bill" } の場合、 「parameters must be an array in joinParams helper」というエラーを出力します

SQL ヘルパー

SQL クエリでは、次の SQL ヘルパーを利用できます。HttpJson Foundry クエリでは Spark SQL 構文を使用しますが、これらのヘルパーをそのクエリで使用しないでください。

alias

alias ヘルパーは、列名またはテーブル名のエイリアスを受け取ります。column ヘルパーと table ヘルパーは、情報スキーマと照合して値を確認します。ただし、一時的な列名やテーブル名はスキーマに含まれていません。alias ヘルパーを使用すると、一時的な列名やテーブル名を登録できます。名前が固定値でない場合は、エラーがスローされます。

例

  • alias を使用して列名のエイリアスを登録する

    "SELECT id as {{alias 'alias_column_name'}} FROM table1 ORDER BY {{column aliasColumnName}};"
    

    コンテキストが { aliasColumnName: "alias_column_name" } の場合、次のように表示されます。

    "SELECT id as alias_column_name FROM table1 ORDER BY alias_column_name;"
    
  • alias を使用して大文字と小文字を区別する列名のエイリアスを登録する

    "SELECT id as "{{alias 'Alias Column Name'}}" FROM table1 ORDER BY "{{column aliasColumnName}}";"
    

    コンテキストが { aliasColumnName: "Alias Column Name" } の場合、次のように表示されます。

    "SELECT id as "Alias Column Name" FROM table1 ORDER BY "Alias Column Name";"
    
  • alias を使用してテーブル名のエイリアスを登録する

    "SELECT id as "{{alias 'Alias Column Name'}}" FROM table1 ORDER BY "{{column aliasColumnName}}";"
    

    コンテキストが { aliasColumnName: "Alias Column Name" } の場合、次のように表示されます。

    "SELECT id as "Alias Column Name" FROM table1 ORDER BY "Alias Column Name";"
    
  • alias を固定値以外の値で使用する:

    "SELECT id as {{alias aliasColumnName}} FROM table1 ORDER BY {{table aliasColumnName}};"
    

    コンテキストが { aliasColumnName: "alias_column_name" } の場合、「固定パラメーターのみが許可されません...」というエラーがスローされます。

schema

schema ヘルパーは、スキーマ名と許可リストに含まれる名前のリストを受け取ります。スキーマ名が許可リストに含まれる名前のリストに存在することを確認し、データソースの情報テーブルと照合してスキーマ名を確認します。スキーマ名が許可リストに含まれる名前のリストまたは情報テーブルに存在しない場合は、エラーがスローされます。

例

  • schema を有効なスキーマ名で使用する
    "SELECT * FROM {{schema schemaName 'schema1' 'schema2'}}.table1;"
    
    コンテキストが { schemaName: "schema1" } の場合、次のように表示されます。
    "SELECT * FROM schema1.table1;"
    
  • schema を許可リストに含まれる名前のリストに存在しないスキーマ名で使用する
    "SELECT * FROM {{schema schemaName 'schema1' 'schema2'}}.table1;"
    
    コンテキストが { schemaName: "schemaNameNotInList" } の場合、次のように表示されます。
    "SELECT FROM schemaNameNotInList.table1"
    
    実行時に「スキーマ名は許可リストに含まれる名前のリストに存在する必要があります。」というエラーがスローされます。
  • schema をスキーマ名で使用し、許可リストに含まれる名前のリストに参照を含める
    "SELECT * FROM {{schema schemaName 'schema1' 'schema2' templatizedName}}.table1;"
    
    コンテキストが { schemaName: "schema1", templatizedName: "anotherSchemaName" } の場合、次のように表示されます。
    "SELECT * FROM schema1.table1;"
    
    実行時に「セキュリティ上の理由により、参照 ['templatizedName'] を動的にすることはできません。」というエラーがスローされます。
  • schema を無効なスキーマ名で使用する
    "SELECT * FROM {{schema schemaName 'invalidSchema1'}}.table1;" 
    
    コンテキストが { schemaName: "invalidSchema1" } の場合、次のように表示されます。
    "SELECT * FROM invalidSchema1.table1;"
    
    実行時に「無効なスキーマ名 'invalidSchema1.'」というエラーがスローされます。

table

table ヘルパーは、テーブル名と許可リストに含まれる名前のリストを受け取ります。テーブル名が許可リストに含まれる名前のリストに存在することを確認し、データソースの情報テーブルと照合してテーブル名を確認します。テーブル名が許可リストに含まれる名前のリストまたは情報テーブルに存在しない場合は、エラーがスローされます。

例

  • table を有効なテーブル名で使用する
    "SELECT * FROM {{table tableName 'table1' 'table2'}};"
    
    コンテキストが { tableName: "table1" } の場合、次のように表示されます。
    "SELECT * FROM table1;"
    
  • table を許可リストに含まれる名前のリストに存在しないテーブル名で使用する
    "SELECT * FROM {{table tableName 'table1' 'table2'}};"
    
    コンテキストが { tableName: "tableNameNotInList" } の場合、次のように表示されます。
    "SELECT * FROM tableNameNotInList;"
    
    実行時に「テーブル名は許可リストに含まれる名前のリストに存在する必要があります。」というエラーがスローされます。
  • table をテーブル名で使用し、許可リストに含まれる名前のリストに参照を含める
    "SELECT * FROM {{table tableName 'table1' 'table2' templatizedName}};"
    
    コンテキストが { tableName: "table1", templatizedName: "anotherTableName" } の場合、次のように表示されます。
    "SELECT * FROM table1;"
    
    実行時に「セキュリティ上の理由により、参照 ['templatizedName'] を動的にすることはできません。」というエラーがスローされます。
  • table を無効なテーブル名で使用する
    "SELECT * FROM {{table tableName 'invalidTable1'}};"
    
    コンテキストが { tableName: "invalidTable1" } の場合、次のように表示されます。
    "SELECT * FROM invalidTable1;"
    
    実行時に「無効なテーブル名 'invalidTable1'。」というエラーがスローされます。

column

column ヘルパーは、列名または列名のリストを受け取り、データソースの情報テーブルと照合して確認します。列名が情報テーブルに存在しない場合は、エラーがスローされます。

例

  • column を有効な列名で使用する
    "SELECT {{column columnName}} FROM table1;"
    
    コンテキストが { columnName: "column1" } の場合、次のように表示されます。
    "SELECT column1 FROM table1;"
    
  • column を大文字と小文字を区別する有効な列名で使用する
    "SELECT "{{column columnName}}" FROM table1;"
    
    コンテキストが { columnName: "Column 1" } の場合、「SELECT "Column 1" FROM table1;」と表示されます。
  • column を有効な列名のリストで使用する
    "SELECT {{column columnNames}} FROM table1;"
    
    コンテキストが { columnNames: ["column1", "column2"] } の場合、次のように表示されます。
    "SELECT column1, column2 FROM table1;"
    
  • column を無効な列名で使用する
    "SELECT {{column columnName}} FROM table1;"
    
    コンテキストが { columnName: "invalidColumn1" } の場合、次のように表示されます。
    "SELECT invalidColumn1 FROM table1;"
    
    「無効な列名 'invalidColumn1'。」というエラーがスローされます。

param

param ヘルパーは、パラメーターまたはパラメーターのリストを受け取ります。通常モードでは、パラメーターをリストに格納し、疑問符を返します。プレビューモードでは、パラメーターを返します。注:プレビューモードは、表示されるクエリのプレビューとデバッグに使用します。

例

  • 通常モードで param を数値で使用する
    "SELECT * FROM table1 WHERE id = {{param parameter1}};"
    
    コンテキストが { parameter1: 1234 } の場合、次のように表示されます。
    "SELECT * FROM table1 WHERE id = ?;"
    
    パラメーターのリストは [1234] です。
  • 通常モードで param を文字列のリストで使用する
    "SELECT * FROM table1 WHERE text IN ({{param parameter1}});"
    
    コンテキストが { parameter1: ["some", "text"] } の場合、次のように表示されます。
    "SELECT * FROM table1 WHERE text IN (?, ?);"
    
    パラメーターのリストは ["some", "text"] です。
  • 通常モードで toString ヘルパーを使用して param を数値で使用する
    "SELECT * FROM table1 WHERE text = {{param (toString parameter1)}};"
    
    コンテキストが { parameter1: 1234 } の場合、次のように表示されます。
    "SELECT * FROM table1 WHERE text = ?;"
    
    パラメーターのリストは ["1234"] です。
  • 通常モードで toNumber ヘルパーを使用して param を文字列で使用する
    "SELECT * FROM table1 WHERE text = {{param (toNumber parameter1)}};"
    
    コンテキストが { parameter1: "1234" } の場合、次のように表示されます。
    "SELECT * FROM table1 WHERE text = ?;"
    
    パラメーターのリストは [1234] です。
  • 通常モードで concat ヘルパーを使用して param を LIKE 演算で使用する
    "SELECT * FROM table1 WHERE text LIKE {{param (concat '%' parameter1 '%')}};"
    
    コンテキストが { parameter1: "some text" } の場合、次のように表示されます。
    "SELECT * FROM table1 WHERE text = ?;" with the list of parameters `["%some text%"]`
    
  • プレビューモードで param を数値で使用する
    "SELECT * FROM table1 WHERE id = {{param parameter1}};"
    
    コンテキストが { parameter1: 1234 } の場合、次のように表示されます。
    "SELECT * FROM table1 WHERE id = 1234;"
    
  • プレビューモードで param を文字列のリストで使用する
    "SELECT * FROM table1 WHERE text IN ({{param parameter1}});"
    
    コンテキストが { parameter1: ["some", "text"] } の場合、次のように表示されます。
    "SELECT * FROM table1 WHERE text IN ('some', 'text');"
    
  • param を未定義のパラメーターで使用する
    "SELECT * FROM table1 WHERE id = {{param parameter1}};"
    
    コンテキストが { } の場合、「エラー:param ヘルパーではパラメーターの値を null にすることはできません」というエラーがスローされます。
  • param を null を含む配列で使用する
    "SELECT * FROM table1 WHERE text IN ({{param parameter1}});"
    
    コンテキストが { parameter: ["some", null] } の場合、「エラー:param ヘルパーではパラメーターの配列に null 値を含めることはできません」というエラーがスローされます。