メインコンテンツへスキップ

あいまい検索

コメント

6件のコメント

  • Spring

    SQL Where句でうまくいかなかった原因は不明ですが、

    SQL Where句タブでWhere句だけ記述するのではなく、

    SQLコマンドでSelect句も含めて記述したらうまくいきましたので、ひとまず解決いたしました。

  • vg

    :CE IS NULL OR :CE = '' OR :CK LIKE '%' || :CE || '%' ですと、

    CEが未入力の場合は全件表示ということになるような気もしますけれども・・
    OR使うとインデックス効かなさそうなので、条件を変数に入れてDBーSQLに

    未入力時
     項目更新CE    ' Is null ' 

    入力時
     項目更新CE  ' = ''%'' || ''TRIM('& CE &')'' ||''%'''

    DB-SQL
     :CK   @:CE

    みたいな感じでどうでしょうか。
    親タスクが必要なのでタスク構造にもよりますが

  • Spring

    コメントありがとうございます。

    CEが未入力の場合は全件表示で問題ないです。

    ひとまず解決はしましたので、また別の機会に参考にさせていただきたいと思います。

  • Tanda

    Springさん、

    SQL Where句はMagicのゲートウェイがSQL言語ごとにSQL文を自動生成して送信します。これに対して、SQLコマンドはその記述がダイレクトに送信されますので、誤訳とかは発生しません。

    SQL Where句で自動生成されたSQL文がどうなっているかは、SQLのログを取ってみると分かりますよ。SQLのログは、Magicのプルダウンメニューから「オプション」→「設定」→「ロギング」で取得できます。

  • Spring

    tanda様、回答ありがとうございます。

    間違ったフォルダのログを見ていたようでログ内容に気づけていませんでした。

    他のログに埋もれてしまっているので、

    次回SQL Where句を使った際に確認してみます。

  • Tanda

    Springさん、

    ちなみに、「ロギング」はデフォルトの設定のまま使うと膨大な量のログが吐き出されますので解析がたいへんです。SQL文をチェックするだけでしたら最小のログ設定で行けるはずですので、機会があったら試してみてください。

     

サインインしてコメントを残してください。