SQL Server における QUOTENAME() 関数の使用方法
SQL Server の QUOTENAME() 関数は、識別子(テーブル名、列名など)をクエリで使用する際に角括弧で囲んだ形式に変換します。
QUOTENAME() 関数の構文は次のとおりです。
QUOTENAME ( ‘文字列’ [, ‘引用文字’ ] )
パラメータの記述
- ‘文字列’: 変換対象の識別子であり、テーブル名・カラム名など
- 「引用文字に含めたい」オプションの引数です。標準ではこの引用の言葉に角括弧を使っています。(「[」と「]」)
例:例文は日本語でネイティブに言い換えてください。1つのオプションだけで結構です。
- 表名を引用表記([ ] で囲う)で囲んで、予約引用文字を使用します:
SELECT QUOTENAME('Employees') AS QuotedName;
従業員
- 列名を引用形式に変換するには、カスタム引用文字(二重引用符)を使用します
SELECT QUOTENAME('EmployeeName', '"') AS QuotedName;
結果:「EmployeeName」
- テーブル名やカラム名をクエリ中で引用する場合はQUOTENAME()関数を使用する。
SELECT QUOTENAME('Employees') + '.' + QUOTENAME('EmployeeName') AS QuotedColumnName
FROM Employees;
社員名
留意事項:
- QUOTENAME() 関数は、識別子のみを引用でき、文字列やほかのデータタイプの引用には使用できません。
- QUOTENAME() 関数は SQL インジェクション攻撃を防ぐために使用することができ、ユーザー入力識別子が適切に引用されることで悪意のある入力がクエリ構造を破壊しないようにします。