| Documentation PostgreSQL 7.2 | ||
|---|---|---|
| <<< Previous | Fonctions et Opérateurs | Next >>> |
Cette section décrit les fonctions et les opérateurs pour l'examen et la manipulations des valeurs chaîne. Les chaînes dans ce contexte incluent les valeurs de tous les types CHARACTER, CHARACTER VARYING, et TEXT. Hormis note particulière, toutes les fonctions listées ci-dessous fonctionnent avec tous ces types, mais la prudence affecte l'ajout automatique de caractères dans l'utilisation du type CHARACTER. En général, les fonctions décrites ici fonctionnent aussi sur des données de types non-chaîne en convertissant ces données en une représentation de chaîne. Certaines fonctions existent aussi nativement pour les types chaîne-bit.
SQL définit certaines fonctions chaîne avec une syntaxe spécifique où certains mots-clé davantage que les virgules sont utilisés pour séparer les arguments. Voir les détails en Table 6. Ces fonctions sont aussi implémentées en utilisant la syntaxe régulière de l'invocation de fonction. (Voir Table 7.)
Table 6. Opérateurs et fonctions chaîne SQL
| Fonction | Retour | Description | Exemple | Résultat |
|---|---|---|---|---|
| string || string | text | string concatenation | 'Postgre' || 'SQL' | PostgreSQL |
| bit_length(string) | integer | number of bits in string | bit_length('jose') | 32 |
| char_length(string) or character_length(string) | integer | number of characters in string | char_length('jose') | 4 |
| lower(string) | text | Convert string to lower case. | lower('TOM') | tom |
| octet_length(string) | integer | number of bytes in string | octet_length('jose') | 4 |
| position(substring in string) | integer | location of specified substring | position('om' in 'Thomas') | 3 |
| substring(string [from integer] [for integer]) | text | extract substring | substring('Thomas' from 2 for 3) | hom |
| trim([leading | trailing | both] [characters] from string) | text | Removes the longest string containing only the characters (a space by default) from the beginning/end/both ends of the string. | trim(both 'x' from 'xTomxx') | Tom |
| upper(string) | text | Convert string to upper case. | upper('tom') | TOM |
Des fonctions de manipulation de chaîne supplémentaires sont disponibles et listées plus bas. Certaines d'entre elles sont utilisées en interne pour implémenter les fonctions de chaîne SQL-standard listées ci-dessous.
Table 7. Autres fonctions chaîne
| Fonction | Retour | Description | Exemple | Résultat |
|---|---|---|---|---|
| ascii(text) | integer | Returns the ASCII code of the first character of the argument. | ascii('x') | 120 |
| btrim(string text, trim text) | text | Remove (trim) the longest string consisting only of characters in trim from the start and end of string. | btrim('xyxtrimyyx','xy') | trim |
| chr(integer) | text | Returns the character with the given ASCII code. | chr(65) | A |
| convert(string text, [src_encoding name,] dest_encoding name) | text | Converts string using dest_encoding. The original encoding is specified by src_encoding. If src_encoding is omitted, database encoding is assumed. | convert('text_in_unicode', 'UNICODE', 'LATIN1') | text_in_unicode represented in ISO 8859-1 |
| initcap(text) | text | Converts first letter of each word (whitespace separated) to upper case. | initcap('hi thomas') | Hi Thomas |
| length(string) | integer | length of string | length('jose') | 4 |
| lpad(string text, length integer [, fill text]) | text | Fills up the string to length length by prepending the characters fill (a space by default). If the string is already longer than length then it is truncated (on the right). | lpad('hi', 5, 'xy') | xyxhi |
| ltrim(string text, trim text) | text | Removes the longest string containing only characters from trim from the start of the string. | ltrim('zzzytrim','xyz') | trim |
| pg_client_encoding() | name | Returns current client encoding name. | pg_client_encoding() | SQL_ASCII |
| repeat(text, integer) | text | Repeat text a number of times. | repeat('Pg', 4) | PgPgPgPg |
| rpad(string text, length integer [, fill text]) | text | Fills up the string to length length by appending the characters fill (a space by default). If the string is already longer than length then it is truncated. | rpad('hi', 5, 'xy') | hixyx |
| rtrim(string text, trim text) | text | Removes the longest string containing only characters from trim from the end of the string. | rtrim('trimxxxx','x') | trim |
| strpos(string, substring) | text | Locates specified substring. (same as position(substring in string), but note the reversed argument order) | strpos('high','ig') | 2 |
| substr(string, from [, count]) | text | Extracts specified substring. (same as substring(string from from for count)) | substr('alphabet', 3, 2) | ph |
| to_ascii(text [, encoding]) | text | Converts text from multibyte encoding to ASCII. | to_ascii('Karel') | Karel |
| translate(string text, from text, to text) | text | Any character in string that matches a character in the from set is replaced by the corresponding character in the to set. | translate('12345', '14', 'ax') | a23x5 |
| encode(data bytea, type text) | text | Encodes binary data to ASCII-only representation. Supported types are: 'base64', 'hex', 'escape'. | encode('123\\000\\001', 'base64') | MTIzAAE= |
| decode(string text, type text) | bytea | Decodes binary data from string previously encoded with encode(). Parameter type is same as in encode(). | decode('MTIzAAE=', 'base64') | 123\000\001 |
La fonction to_ascii supporte la conversion depuis le LATIN1, LATIN2, WIN1250 (CP1250) seulement.
| <<< Previous | Home | Next >>> |
| Fonctions et opérateurs mathématiques | Up | Fonctions et opérateurs chaîne binaire |