String タイプ Literal
説明
文字列は、シングルクォート (') またはダブルクォート (") で囲まれたバイトまたは文字の連続です。例:
'a string'
"another string"
エスケープ文字
文字列では、NO_BACKSLASH_ESCAPES SQLモードが有効になっていない限り、特定のシーケンスが特別な意味を持ちます。これらのシーケンスはバックスラッシュ(\)で始まり、これはエスケープ文字として知られています。Dorisで認識されるエスケープ文字を以下の表に示します:
| エスケープ文字 | 意味 |
|---|---|
\0 | ASCII文字 NUL ('X'00') |
\' | シングルクォート (') |
\" | ダブルクォート (") |
\b | バックスペース |
\n | 改行 |
\r | キャリッジリターン |
\t | タブ |
\Z | ASCII 26 (Control+Z) |
\\ | バックスラッシュ (\) |
\% | パーセント記号 %。詳細は以下の注意事項を参照 |
\_ | アンダースコア _。詳細は以下の注意事項を参照 |
注意事項
- パターンマッチングコンテキストでは、
%と_は通常ワイルドカードとして解釈されますが、シーケンス\%と\_を使用することで%と_のリテラルインスタンスを検索できます。詳細については、「パターンマッチング演算子」セクションのLIKE演算子の説明を参照してください。\%または\_がパターンコンテキスト外で使用される場合、これらは%と_ではなく、文字列\%と\_として計算されます。- 表に記載されていないエスケープ文字のバックスラッシュは無視されます。例えば、
'\y'と'y'は同等です。
文字列リテラルでのクォートの使用
文字列にクォート文字を含める方法はいくつかあります:
- シングルクォート(')で囲まれた文字列では、シングルクォートは2つのシングルクォート('')として記述できます。
- ダブルクォート(")で囲まれた文字列では、ダブルクォートは2つのダブルクォート("")として記述できます。
- クォート文字の前にエスケープ文字(
\)を追加します。 - ダブルクォートで囲まれた文字列にシングルクォートを含める場合、特別な処理は必要なく、シングルクォートを二重化したりエスケープしたりする必要もありません。同様に、シングルクォートで囲まれた文字列にダブルクォートを含める場合も、特別な処理は必要ありません。