メインコンテンツまでスキップ
バージョン: 26.x

String タイプ Literal

説明

文字列は、シングルクォート (') またはダブルクォート (") で囲まれたバイトまたは文字の連続です。例:

'a string'
"another string"

エスケープ文字

文字列では、NO_BACKSLASH_ESCAPES SQLモードが有効になっていない限り、特定のシーケンスが特別な意味を持ちます。これらのシーケンスはバックスラッシュ(\)で始まり、これはエスケープ文字として知られています。Dorisで認識されるエスケープ文字を以下の表に示します:

エスケープ文字意味
\0ASCII文字 NUL ('X'00')
\'シングルクォート (')
\"ダブルクォート (")
\bバックスペース
\n改行
\rキャリッジリターン
\tタブ
\ZASCII 26 (Control+Z)
\\バックスラッシュ (\)
\%パーセント記号 %。詳細は以下の注意事項を参照
\_アンダースコア _。詳細は以下の注意事項を参照

注意事項

  1. パターンマッチングコンテキストでは、%_は通常ワイルドカードとして解釈されますが、シーケンス\%\_を使用することで%_のリテラルインスタンスを検索できます。詳細については、「パターンマッチング演算子」セクションのLIKE演算子の説明を参照してください。\%または\_がパターンコンテキスト外で使用される場合、これらは%_ではなく、文字列\%\_として計算されます。
  2. 表に記載されていないエスケープ文字のバックスラッシュは無視されます。例えば、'\y''y'は同等です。

文字列リテラルでのクォートの使用

文字列にクォート文字を含める方法はいくつかあります:

  • シングルクォート(')で囲まれた文字列では、シングルクォートは2つのシングルクォート('')として記述できます。
  • ダブルクォート(")で囲まれた文字列では、ダブルクォートは2つのダブルクォート("")として記述できます。
  • クォート文字の前にエスケープ文字(\)を追加します。
  • ダブルクォートで囲まれた文字列にシングルクォートを含める場合、特別な処理は必要なく、シングルクォートを二重化したりエスケープしたりする必要もありません。同様に、シングルクォートで囲まれた文字列にダブルクォートを含める場合も、特別な処理は必要ありません。