notebook

都内でWEB系エンジニアやってます。

Redashのクエリに特殊文字を使う時の話

Redashでクエリ書いてたときにすこしハマったときの記録

Redashではクエリにパラメータをつけることで結果を動的にすることができます

パラメータに/などの文字が入っている場合実際にクエリ文字列には/といったふうにHTMLの特殊文字の数値参照がSQLの問い合わせに使われるようなので意図した結果にならないパターンがあります

おそらくRedashの環境変数でサニタイズするような設定を入れているのでそれと合わせると起こるとおもうのですが

これを知らずに結構時間をムダにしてしまったことがありました。

テキストのパラメータ(text)にhoge/fugaというパラメータを設定

実際にはhoge/fugaで問い合わせがされるのでマッチしない的な事があります

これは愚直に変換してあげるしかなさそう

  • QueryResult(SQLite)でのクエリ例
AND piyo = REPLACE(CAST('{{piyo}}' AS varchar), '/', '/')