pg_quote
Prev | 4.3.Query Execution Commands | Next

## pg_quote

pg_quote — SQL文字列字句 向けの文字列除外と引用 Escape and quote a string for use as an SQL string literal

## 構文 Synopsis

    pg_quote ?conn? string

## 説明 Description

pg_quote はその引数を一重引用符内に包み､ SQL文字列常数として安全に使用できる文字の追加を伴って､返す｡ 文字列を一重引用符で包み､全て内部にある一重引用符を二重引用符化し､他の何かの場合､逆斜線文字を二重化､等､で返す｡ `pg_quote` returns its argument in single quotes, with added characters which makes it safe for use as an SQL string constant. It returns the string in single quotes, with all internal single quote marks doubled, and in some cases doubles backslash characters too.

譬えば､ `pg_quote {can't}` は `'can''t'` を 返す｡ For example, `pg_quote {can't}` returns the string `'can''t'`.

## Arguments

`conn`

  送付する為に､文字列が除外される追加の接続の把持子｡ Optional handle of the connection that the string should be escaped for sending to.

`string`

  引用され除外される文字列｡ The string to quote and escape.

## Return Value

追加された文字で､一重に引用された､文字列引数｡ The string argument, in single quotes, with added characters.

## 註意 Notes

同じ内容だが､取囲む一重引用符なしの､ pg_escape_string を参照されたい､又､ pg_escape_literal は､pg_quote と､ pg_escape_identifier との代替実装である｡ See also pg_escape_string, which returns the same thing but without the surrounding single quotes, pg_escape_literal, which is an alternative implementation of `pg_quote`, and pg_escape_identifier.

本命令はpgtclng-1.5.1とpgintcl-2.1.0に追加された｡ This command was added in pgtclng-1.5.1 and in pgintcl-2.1.0.

任意追加のconn引数は､pgtclng-1.7.0 と pgintcl-3.1.0 内の命令に追加された｡ The optional `conn` argument was added to this command in pgtclng-1.7.0 and in pgintcl-3.1.0.

conn 引数は､文字揃い符号系情報と､PostgreSQL 中央集中処理系の構成設定假引数 標準_形成_文字列 `standard_conforming_strings` の状態を､得る為に使われる｡ 文字揃い符号系は､多バイト文字が除外処理を確実に混乱させない為に使われる｡ 逆斜線が二重化を要すか否かを決定する為に､標準構成設定文字列設定の状態が､使用される｡ もし､ conn 引数が供給されると､ 使われている特定のデータベースの接続に関して､ これらの設定は正確に決定され得る｡ (註意 この情報は､依頼者側に維持され､且つ､ どの様な追加のデータベース中央集中処理系の通信にも必要ない) The `conn` argument is used to get character set encoding information, and the state of the PostgreSQL server configuration parameter `standard_conforming_strings`. The character set encoding is used to make sure that multi-byte characters do not confuse the escaping process. The state of the standard conforming strings setting is used to determine if backslashes need to be doubled. If the `conn` parameter is supplied, these settings can be accurately determined for the specific database connection being used. (Note that this information is maintained on the client side and does not necessitate any additional database server traffic.)

もし､conn 假引数が供給されないと､依頼者によるどれかのデータベース接続からの､最も最近の情報に基き最善の推測が成される｡ 従って､依頼者が単一のデータベース接続をなしているか､或いは､ 同じ符号系の多数のデータベース接続をなして､且つ､標準_準拠_文字列に関する設定であると､ conn 假引数を提供する必要はない｡ If the `conn` parameter is not supplied, a best guess will be made based on the most recent information from any database connection by the client. Therefore, if the client makes a single database connection, or multiple connections with the same encoding and setting for standard_conforming_strings, there is no need to provide the `conn` parameter.

### 警告 Caution

Pgintclは conn 引数を､標準形成文字列standard_conforming_stringsが使用可か否かを決定するのみに使用する｡ libpq-基準の対話機能実装とは異なり､使用文字列揃い符号系情報を使う能力はない｡ Pgintcl uses the `conn` parameter only to determine if standard_conforming_strings is on. Unlike libpq-based interface implementations, it does not have the ability to use character set encoding information.

この命令は､接続把持子が供給されない場合は PostgreSQL libpq の PQescapeString 函数を､ 接続把持子が供給される場合は PQescapeStringConn 函数を､使うか模擬する｡ 結果に取り囲む一重の引用符が供給される｡ This command uses or emulates the PostgreSQL libpq function `PQescapeString`, if no connection handle is supplied, or `PQescapeStringConn` if a connection handle is supplied. Surrounding single quotes are added to the result.

## 用例 Example

    set sql "SELECT * FROM mytable WHERE name = [pg_quote $itemname]"

Prev | Up | Next
pg_escape_string | Home | pg_escape_identifier