SQL文

データ・エクスプローラ・ゾーンは、1つ以上のSQL文を使用して表示するデータを選択するのに使用されます。SQLパラメータは、次のゾーン・タイプに適用できます

  • 「情報データ・エクスプローラ - 単一のSQL」(F1-DE-SINGLE)パラメータの記述は「SQL文」となります。

  • 「情報データ・エクスプローラ - 複数のSQL」(F1-DE)パラメータの記述パターンは「SQL文x」となります。

  • 「問合せデータ・エクスプローラ - 複数のSQL」(F1-DE-QUERY)パラメータの記述パターンは「SQL文x」となります。

注意: SQLを定義する際に使用される関数を制限するように実装で構成されている場合は、許可リストにない関数が検出されると、実行時にエラーが発行されます。許可リストは、ゾーン保守ページの「ヒント」ゾーンで「SQL関数許可リストの表示」リンクを使用して表示できます。
注意: ゾーンSQLでは、表の別名に次の予約済キーワードを使用しないように注意してください。(たとえば、このSQLの表の別名は、'XX': SELECT 'X' FROM W1_ ACTIVITY_​TYPE XXです。)
キーワード
AT

次の表に、エクスプローラ・ゾーンでSQL文のパラメータに使用するSQL置換キーワードのリストを示します。実行時にシステムでデータベースが判断され、キーワードがデータベース固有の構文で置換されます。

キーワード

摘要

@toCharacter()

入力を文字データ型に変換します。

select @toCharacter(batch_​cd) as batchCode from ci_​batch_​ctrl

@toDate()

入力を日付データ型に変換します。

select @toDate(last_​update_​dttm) as lastUpdateDate from ci_​batch_​ctrl

@toNumber()

入力を数値データ型に変換します。

select @toNumber(next_​batch_​nbr) from ci_​batch_​ctrl

@currentDate

現在日をフェッチします。

注意: Oracle関数のSYSDATEおよびCURRENT_​DATEは、データベース・タイム・ゾーンからインストール・タイム・ゾーンへの日付の調整(必要な場合)に適切に対応していないため使用しないでください。

select batch_​cd, @currentDate as today from ci_​batch_​ctrl

@currentTimestamp

現在日時をフェッチします。

注意: Oracle関数のSYSTIMESTAMPおよびCURRENT_​TIMESTAMPは、データベース・タイム・ゾーンからインストール・タイム・ゾーンへの日時の調整(必要な場合)に適切に対応していないため使用しないでください。

select batch_​cd from ci_​batch_​ctrl where last_​update_​dttm > @currentTimestamp

@concat

2つ以上の列の結果リストを結合します。

select batch_​cd @concat next_​batch_​nbr concatNbr from ci_​batch_​ctrl

@substr(string, start)

stringは、従属文字列の取得を試みる入力文字列です。

startは、出力結果の文字位置です。

select batch_​cd batchCode from ci_​batch_​ctrl

結果: TESTCD

select @substr(batch_​cd,3) batchCode from ci_​batch_​ctrl

結果: STCD

@substr(string, start, end)

stringは、従属文字列の取得を試みる入力文字列です。

startは、出力結果の文字位置です。

endは、出力に必要な開始位置からの文字数です。

Select batch_​cd batchCode from ci_​batch_​ctrl

結果: TESTCD

select @substr(batch_​cd,3,2) batchCode from ci_​batch_​ctrl

結果: ST

@trim

出力の両側の空白を切り捨てます。

select @trim(batch_​cd) as batchCode from ci_​batch_​ctrl

次の構文は、ファジー検索に関連しています。Oracle DB Textが使用可能で、コンテキスト・テキスト索引が作成されている場合にのみ適用されます。詳細は、「詳細検索オプション」を参照してください。

@fuzzy(string, score, numresult, 'weight')

stringは、検索の入力値です。

scoreは、あいまいさの程度です。有効な値は1から80です。数値が高いほど検索がより厳密になります。デフォルトは60です。

numresultsは、文字列に対して考慮するバリエーションの数です。有効な値は1から5000です。デフォルトは100です。

結果を重みの順に返すように示すには、'weight'を指定します。結果をスコア順に返すように示すには、この設定をオフにします。

スコアを70に、結果の数を6に設定して、weightを指定します。

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70, 6, 'weight')) > 0

@fuzzy(string)

scoreをデフォルト値の60と仮定し、numresultをデフォルト値の100と仮定して、ファジー展開操作からの文字列結果を返します。

デフォルト値を使用します。

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1))> 0

@fuzzy(string, score)

指定されたscoreと、numresultのデフォルト値の100を使用して、ファジー展開操作からの文字列結果を返します。

スコアを70に設定します。

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70)) > 0

@fuzzy(string, score, numresult)

類似度スコアおよびnumresultsを指定して、ファジー展開操作からの文字列結果を返します。

スコアを70に、結果の数を6に設定します。

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70, 6)) > 0