SQL のサニタイズ変換関数

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:2分
  • SQL のサニタイズ変換関数を使用して特殊文字をエスケープし、SQL ステートメントに使用される文字列データピルへの挿入を阻止します。

    SQL のサニタイズ変換関数には、文字列入力データピルが必要です。SQL のサニタイズ変換関数を適用するときは、正しい入力データピルタイプを使用してください。SQL のサニタイズ変換関数が不適切なデータタイプに適用されると、データはランタイム時に変換されず、代わりに入力値が返されます。フローランタイム値を確認する方法の詳細については、「フローをテストする」を参照してください。

    注:
    データピルが JDBC ステップに対する SQL ステートメント入力にドロップされると、SQL のサニタイズ変換関数カテゴリが自動的に表示されます。

    SQL 識別子のサニタイズ

    SQL 識別子 (テーブル、ビュー、列名など) のエスケープされた特殊文字/挿入された値を含む文字列を返します。入力文字列をデータベース固有の引用符で囲みます。

    入力データピル パラメーター 出力データピル
    文字列 Database:文字がエスケープされるデータベース固有のコンテキスト。選択肢には、MySQL、Oracle、PostgreSQL、および Microsoft SQL Server があります。 文字列:選択したデータベースに基づいて適切にエスケープされた SQL 識別子を含む文字列
    図 : 1.
    • 入力:simple_column
    • データベース:MySQL
    • 出力:`simple_column`
    注:
    • 入力文字列にピリオド文字が含まれている場合、SQL 識別子のサニタイズはエラーを返します。ピリオドを使用して SQL 識別子を結合するには、ピリオドで連結された 2 つのデータピルを使用し、SQL 識別子のサニタイズを両方のピルに適用します。
    • 入力データピルを引用符で囲まないでください。入力値は、データベースタイプに適用される引用符またはバッククォートのタイプで自動的に囲まれます。

    SQL 値のサニタイズ

    SQL 値のエスケープされた特殊文字または挿入された値を含む文字列を返します。入力文字列をデータベース固有の引用符で囲みます。
    入力データピル パラメーター 出力データピル
    文字列 Database:文字がエスケープされるデータベース固有のコンテキスト。選択肢には、MySQL、Oracle、PostgreSQL、および Microsoft SQL Server があります。 文字列:選択したデータベースに基づいて適切にエスケープされた SQL 値を含む文字列
    図 : 2.
    • 入力:'1'='1
    • データベース:SQLServer
    • 出力:''1''=''1'
    注:
    入力データピルを引用符で囲まないでください。入力値は、データベースタイプに適用される引用符またはバッククォートのタイプで自動的に囲まれます。