Вы находитесь на странице: 1из 8

Funes e operadores para cadeias de caracteres

Pgina 1 de 8

Altavista Anterior Incio

Procurar

Procurar

Documentao do PostgreSQL 8.0.0


Captulo 9. Funes e Operadores
Fim Prxima

9.4. Funes e operadores para cadeias de caracteres


Esta seo descreve as funes e operadores disponveis para examinar e manipular valores cadeia de caracteres. Neste contexto, cadeia de caracteres inclui todos os valores dos tipos character, character varying e text. A menos que seja dito o contrrio, todas as funes relacionadas abaixo trabalham com todos estes tipos, mas se deve tomar cuidado com os efeitos em potencial do preenchimento automtico quando for utilizado o tipo character. De modo geral, as funes descritas nesta seo tambm trabalham com dados de tipos que no so cadeias de caracteres, convertendo estes dados primeiro na representao de cadeia de caracteres. Algumas funes tambm existem em forma nativa para os tipos cadeia de bits. O SQL define algumas funes para cadeias de caracteres com uma sintaxe especial, onde certas palavras chave, em vez de vrgulas, so utilizadas para separar os argumentos. Os detalhes esto na Tabela 9-6. Estas funes tambm so implementadas utilizando a sintaxe regular de chamada de funo (Consulte a Tabela 9-7). Tabela 9-6. Funes e operadores SQL para cadeias de caracteres Funo
cadeia_de_caracteres || cadeia_de_caracteres bit_length (cadeia_de_caracteres) char_length (cadeia_de_caracteres) ou character_length (cadeia_de_caracteres) convert (cadeia_de_caracteres using nome_da_converso)

Tipo retornado
text integer integer

Descrio
Concatenao de cadeias de caracteres Nmero de bits na cadeia de caracteres Nmero de caracteres na cadeia de caracteres

Exemplo
'Post' || 'greSQL' bit_length('Jos') char_length('Jos')

Resultado
PostgreSQL 32 4

text

Muda a codificao utilizando o nome de converso especificado. As converses podem ser definidas pelo comando CREATE CONVERSION. Alm disso, existem alguns nomes de converso pr-definidos. Veja na Tabela 9-8 os nomes de converso disponveis. Converte as letras da cadeia de caracteres em minsculas Nmero de bytes na cadeia de caracteres Substituir parte da cadeia de caracteres (sobreposio)

convert('PostgreSQL' using iso_8859_1_to_utf_8)

'PostgreSQL' na codificao Unicode (UTF8)

lower(cadeia_de_caracteres) text octet_length (cadeia_de_caracteres) integer

lower('SO') octet_length('Jos') overlay('Txxxxas' placing 'hom' from 2 for 4) position('om' in 'Thomas')

so 4 Thomas

overlay text (cadeia_de_caracteres placing cadeia_de_caracteres from integer [for integer]) position(substring in cadeia_de_caracteres) integer

Posio da subcadeia de caracteres Extrai parte da cadeia de caracteres

substring text (cadeia_de_caracteres [from integer] [for integer]) substring (cadeia_de_caracteres from padro) substring (cadeia_de_caracteres from padro for escape) trim([leading | trailing | both] [caracteres] from cadeia_de_caracteres) text

substring('Thomas' from hom 2 for 3) substring('Thomas' from mas '...$') substring('Thomas' from oma '%#"o_a#"_' for '#') trim(both 'x' from 'xTomxx') Tom

Extrai a parte da cadeia de caracteres correspondente expresso regular POSIX [a] Extrai a parte da cadeia de caracteres correspondente expresso regular SQL Remove a cadeia de caracteres mais longa contendo apenas os caracteres (espao por padro) da extremidade inicial/final/ambas da cadeia_de_caracteres. Converte as letras da cadeia de caracteres em maisculas

text

text

upper(cadeia_de_caracteres) text

upper('so')

SO

Notas: a. Nos sistemas *nix execute man 7 regex para ver uma descrio das expresses regulares POSIX 1003.2. (N. do T.)

Esto disponveis funes adicionais para manipulao de cadeias de caracteres, conforme mostrado na Tabela 9-7. Algumas delas so utilizadas internamente para implementar funes de cadeia de caracteres do padro SQL, conforme mostrado na Tabela 9-6. Tabela 9-7. Outras funes para cadeia de caracteres Funo
ascii(text)

Tipo retornado
integer

Descrio
cdigo ASCII do primeiro caractere do argumento

Exemplo
ascii('x') 120

Resultado

http://pgdocptbr.sourceforge.net/pg80/functions-string.html

24/01/2012

Funes e operadores para cadeias de caracteres

Pgina 2 de 8

Funo
btrim (cadeia_de_caracteres text [, caracteres text])

Tipo retornado
text

Descrio
Remove a maior cadeia de caracteres contendo apenas os caracteres presentes em caracteres (espao por padro), do incio e do fim da cadeia_de_caracteres Caractere com o cdigo ASCII fornecido Converte a cadeia de caracteres na codificao_de_destino. A codificao de origem especificada por codificao_de_origem. Se a codificao_de_origem for omitida, ser assumida a codificao do banco de dados. Decodifica os dados binrios da cadeia_de_caracteres previamente codificada com encode(). O tipo do parmetro o mesmo que em encode (). Codifica dados binrios na representao somente ASCII. Os tipos suportados so: base64, hex e escape.

Exemplo
btrim('xyxtrimyyx', 'xy') trim

Resultado

chr(integer) convert (cadeia_de_caracteres text, [codificao_de_origem name,] codificao_de_destino name) decode (cadeia_de_caracteres text, tipo text)

text text

chr(65) convert ( 'texto_em_unicode', 'UNICODE', 'LATIN1')

A Representao na codificao ISO 8859 -1 do texto_em_unicode

bytea

decode('MTIzAAE=', 'base64')

123\000\001

encode(dados bytea, tipo text)

text

encode( '123\\000 \\001', 'base64')

MTIzAAE=

initcap(text)

text

Converte a primeira letra de cada initcap('hi THOMAS') palavra em maiscula e as demais em minsculas. As palavras so seqncias de caracteres alfanumricos separadas por caracteres no alfanumricos. Nmero de caracteres presentes na cadeia_de_caracteres. length('Jos')

Hi Thomas

length (cadeia_de_caracteres text)

integer

lpad(cadeia_de_caracteres text text, comprimento integer [, preenchimento text])

Preenche a cadeia_de_caracteres at o lpad('hi', 5, 'xy') comprimento adicionando os caracteres de preenchimento (espao por padro) esquerda. Se a cadeia_de_caracteres for mais longa que o comprimento ento truncada ( direita). Remove a cadeia de caracteres mais longa contendo apenas caracteres presentes em caracteres (espao por padro) do incio da cadeia_de_caracteres. Calcula o MD5 da cadeia_de_caracteres, retornando o resultado em hexadecimal. Nome da codificao atual do cliente Retorna a cadeia de caracteres fornecida apropriadamente entre aspas, para ser utilizada como identificador na cadeia de caracteres de um comando SQL. As aspas sero adicionadas somente quando forem necessrias (ou seja, se a cadeia de caracteres contiver caracteres noidentificadores, ou se contiver letras maisculas e minsculas). As aspas internas so devidamente duplicadas.
[a]

xyxhi

ltrim (cadeia_de_caracteres text [, caracteres text])

text

ltrim('zzzytrim', 'xyz')

trim

md5 (cadeia_de_caracteres text) pg_client_encoding() quote_ident (cadeia_de_caracteres text)

text

md5('abc')

900150983cd24fb0 d6963f7d28e17f72 LATIN1 "Foo bar"

name text

pg_client_encoding() quote_ident('Foo bar')

quote_literal (cadeia_de_caracteres text)

text

Retorna a cadeia de caracteres quote_literal( 'O\'Reilly') 'O''Reilly' fornecida apropriadamente entre apstrofos, para ser utilizada como literal cadeia de caracteres na cadeia de caracteres de um comando SQL. Os apstrofos e contrabarras embutidos so devidamente duplicados. Repete a cadeia_de_caracteres pelo nmero de vezes especificado Substitui todas as ocorrncias na cadeia_de_caracteres, da cadeia de caracteres de origem pela cadeia de caracteres de destino. repeat('Pg', 4) PgPgPgPg

repeat (cadeia_de_caracteres text, nmero integer) replace (cadeia_de_caracteres text, origem text, destino text)

text

text

replace( 'abcdefabcdef', abXXefabXXef 'cd', 'XX')

rpad text (cadeia_de_caracteres text, comprimento integer [, preenchimento text])

Preenche a cadeia_de_caracteres at o rpad('hi', 5, 'xy') comprimento anexando os caracteres de preenchimento (espao por padro) direita. Se a cadeia_de_caracteres for mais longa que o comprimento, ento truncada. Remove do final da cadeia_de_caracteres, a cadeia de rtrim('trimxxxx', 'x')

hixyx

text

trim

http://pgdocptbr.sourceforge.net/pg80/functions-string.html

24/01/2012

Funes e operadores para cadeias de caracteres

Pgina 3 de 8

Funo
rtrim (cadeia_de_caracteres text [, caracteres text]) split_part (cadeia_de_caracteres text, delimitador text, campo integer) strpos (cadeia_de_caracteres, caracteres)

Tipo retornado

Descrio
caracteres mais longa contendo apenas os caracteres presentes em caracteres (espao por padro).

Exemplo

Resultado

text

Divide a cadeia_de_caracteres split_part def utilizando o delimitador, retornando ( 'abc~@~def~@~ghi', o campo especificado (contado a '~@~', 2) partir de 1). Posio dos caracteres especificados; o mesmo que position(caracteres in cadeia_de_caracteres), mas deve ser observada a ordem invertida dos argumentos strpos('high', 'ig') 2

text

substr (cadeia_de_caracteres, origem [, contador]) to_ascii(text [, codificao]) to_hex(nmero integer ou bigint)

text

Extrai a subcadeia de caracteres substr('alphabet', 3, 2) caracteres; o mesmo que substring (cadeia_de_caracteres from origem for contador) Converte texto em outras codificaes em ASCII [b] Converte o nmero em sua representao hexadecimal equivalente

ph

text text

to_ascii('Conseqncia') Consequencia to_hex(2147483647) 7fffffff

translate text (cadeia_de_caracteres text, origem text, destino text)

Todo caractere da translate('12345', '14', cadeia_de_caracteres que 'ax') corresponde a um caractere do conjunto origem, substitudo pelo caractere correspondente do conjunto destino.

a23x5

Notas: a. SQL server A funo quotename retorna uma cadeia Unicode com delimitadores adicionados, para tornar a cadeia de entrada um identificador delimitado vlido para o Microsoft SQL Server 2005. Os delimitadores podem ser apstrofos ( ' ), colchete esquerdo e direito ( [ ] ), ou aspas ( " ). O padro colchetes. SQL Server 2005 Books Online QUOTENAME (Transact-SQL) (N. do T.) b. A funo to_ascii permite apenas a converso das codificaes LATIN1, LATIN2, LATIN9 e WIN1250.

Exemplo 9-1. Converso de letras minsculas e maisculas acentuadas Abaixo esto mostradas duas funes para converso de letras. A funo maiusculas converte letras minsculas, com ou sem acentos, em maisculas, enquanto a funo minusculas faz o contrrio, ou seja, converte letras maisculas, com ou sem acentos em minsculas [1] .
=> \!chcp 1252 Active code page: 1252 => CREATE FUNCTION maiusculas(text) RETURNS text AS ' '> SELECT translate( upper($1), '> text '''', '> text '''') '> ' LANGUAGE SQL STRICT; => SELECT maiusculas(' ao seqncia'); maiusculas ----------------- AO SEQNCIA => CREATE FUNCTION minusculas(text) RETURNS text AS ' '> SELECT translate( lower($1), '> text '''', '> text '''') '> ' LANGUAGE SQL STRICT; => SELECT minusculas(' AO SEQNCIA'); minusculas ----------------- ao seqncia

Tabela 9-8. Converses nativas Nome da converso [a]


ascii_to_mic ascii_to_utf_8 big5_to_euc_tw big5_to_mic big5_to_utf_8 euc_cn_to_mic euc_cn_to_utf_8 euc_jp_to_mic euc_jp_to_sjis euc_jp_to_utf_8 euc_kr_to_mic euc_kr_to_utf_8

Codificao de origem
SQL_ASCII SQL_ASCII BIG5 BIG5 BIG5 EUC_CN EUC_CN EUC_JP EUC_JP EUC_JP EUC_KR EUC_KR

Codificao de destino
MULE_INTERNAL UNICODE EUC_TW MULE_INTERNAL UNICODE MULE_INTERNAL UNICODE MULE_INTERNAL SJIS UNICODE MULE_INTERNAL UNICODE

http://pgdocptbr.sourceforge.net/pg80/functions-string.html

24/01/2012

Funes e operadores para cadeias de caracteres

Pgina 4 de 8

Nome da converso [a]


euc_tw_to_big5 euc_tw_to_mic euc_tw_to_utf_8 gb18030_to_utf_8 gbk_to_utf_8 iso_8859_10_to_utf_8 iso_8859_13_to_utf_8 iso_8859_14_to_utf_8 iso_8859_15_to_utf_8 iso_8859_16_to_utf_8 iso_8859_1_to_mic iso_8859_1_to_utf_8 iso_8859_2_to_mic iso_8859_2_to_utf_8 iso_8859_2_to_windows_1250 iso_8859_3_to_mic iso_8859_3_to_utf_8 iso_8859_4_to_mic iso_8859_4_to_utf_8 iso_8859_5_to_koi8_r iso_8859_5_to_mic iso_8859_5_to_utf_8 iso_8859_5_to_windows_1251 iso_8859_5_to_windows_866 iso_8859_6_to_utf_8 iso_8859_7_to_utf_8 iso_8859_8_to_utf_8 iso_8859_9_to_utf_8 johab_to_utf_8 koi8_r_to_iso_8859_5 koi8_r_to_mic koi8_r_to_utf_8 koi8_r_to_windows_1251 koi8_r_to_windows_866 mic_to_ascii mic_to_big5 mic_to_euc_cn mic_to_euc_jp mic_to_euc_kr mic_to_euc_tw mic_to_iso_8859_1 mic_to_iso_8859_2 mic_to_iso_8859_3 mic_to_iso_8859_4 mic_to_iso_8859_5 mic_to_koi8_r mic_to_sjis mic_to_windows_1250 mic_to_windows_1251 mic_to_windows_866 sjis_to_euc_jp sjis_to_mic sjis_to_utf_8 tcvn_to_utf_8 uhc_to_utf_8 utf_8_to_ascii utf_8_to_big5 utf_8_to_euc_cn utf_8_to_euc_jp utf_8_to_euc_kr utf_8_to_euc_tw utf_8_to_gb18030 utf_8_to_gbk utf_8_to_iso_8859_1 utf_8_to_iso_8859_10

Codificao de origem
EUC_TW EUC_TW EUC_TW GB18030 GBK LATIN6 LATIN7 LATIN8 LATIN9 LATIN10 LATIN1 LATIN1 LATIN2 LATIN2 LATIN2 LATIN3 LATIN3 LATIN4 LATIN4 ISO_8859_5 ISO_8859_5 ISO_8859_5 ISO_8859_5 ISO_8859_5 ISO_8859_6 ISO_8859_7 ISO_8859_8 LATIN5 JOHAB KOI8 KOI8 KOI8 KOI8 KOI8 MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL MULE_INTERNAL SJIS SJIS SJIS TCVN UHC UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE

Codificao de destino
BIG5 MULE_INTERNAL UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE MULE_INTERNAL UNICODE MULE_INTERNAL UNICODE WIN1250 MULE_INTERNAL UNICODE MULE_INTERNAL UNICODE KOI8 MULE_INTERNAL UNICODE WIN ALT UNICODE UNICODE UNICODE UNICODE UNICODE ISO_8859_5 MULE_INTERNAL UNICODE WIN ALT SQL_ASCII BIG5 EUC_CN EUC_JP EUC_KR EUC_TW LATIN1 LATIN2 LATIN3 LATIN4 ISO_8859_5 KOI8 SJIS WIN1250 WIN ALT EUC_JP MULE_INTERNAL UNICODE UNICODE UNICODE SQL_ASCII BIG5 EUC_CN EUC_JP EUC_KR EUC_TW GB18030 GBK LATIN1 LATIN6

http://pgdocptbr.sourceforge.net/pg80/functions-string.html

24/01/2012

Funes e operadores para cadeias de caracteres

Pgina 5 de 8

Nome da converso [a]


utf_8_to_iso_8859_13 utf_8_to_iso_8859_14 utf_8_to_iso_8859_15 utf_8_to_iso_8859_16 utf_8_to_iso_8859_2 utf_8_to_iso_8859_3 utf_8_to_iso_8859_4 utf_8_to_iso_8859_5 utf_8_to_iso_8859_6 utf_8_to_iso_8859_7 utf_8_to_iso_8859_8 utf_8_to_iso_8859_9 utf_8_to_johab utf_8_to_koi8_r utf_8_to_sjis utf_8_to_tcvn utf_8_to_uhc utf_8_to_windows_1250 utf_8_to_windows_1251 utf_8_to_windows_1256 utf_8_to_windows_866 utf_8_to_windows_874 windows_1250_to_iso_8859_2 windows_1250_to_mic windows_1250_to_utf_8 windows_1251_to_iso_8859_5 windows_1251_to_koi8_r windows_1251_to_mic windows_1251_to_utf_8 windows_1251_to_windows_866 windows_1256_to_utf_8 windows_866_to_iso_8859_5 windows_866_to_koi8_r windows_866_to_mic windows_866_to_utf_8 windows_866_to_windows_1251 windows_874_to_utf_8

Codificao de origem
UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE UNICODE WIN1250 WIN1250 WIN1250 WIN WIN WIN WIN WIN WIN1256 ALT ALT ALT ALT ALT WIN874

Codificao de destino
LATIN7 LATIN8 LATIN9 LATIN10 LATIN2 LATIN3 LATIN4 ISO_8859_5 ISO_8859_6 ISO_8859_7 ISO_8859_8 LATIN5 JOHAB KOI8 SJIS TCVN UHC WIN1250 WIN WIN1256 ALT WIN874 LATIN2 MULE_INTERNAL UNICODE ISO_8859_5 KOI8 MULE_INTERNAL UNICODE ALT UNICODE ISO_8859_5 KOI8 MULE_INTERNAL UNICODE WIN UNICODE

Notas: a. Os nomes das converses obedecem a um esquema de nomes padronizado: O nome oficial da codificao de origem, com todos os caracteres no alfanumricos substitudos por sublinhado, seguido por _to_, seguido pelo nome da codificao de destino processado da mesma forma que o nome da codificao de origem. Portanto, os nomes podem desviar dos nomes habituais das codificaes.

9.4.1. Comparaes entre o PostgreSQL, o Oracle, o SQL Server e o DB2


Nota: Seo escrita pelo tradutor, no fazendo parte do manual original. Os exemplos abaixo comparam funes e operadores para cadeias de caracteres do Oracle, do SQL Server, do DB2 e do PostgreSQL 8.0.0. Exemplo 9-2. Tamanho de uma cadeia de caracteres com espao direita Abaixo so mostradas consultas que retornam como resultado o tamanho de uma cadeia de caracteres com espao direita. Note que apenas a funo len do SQL Server 2000 no conta o espao direita. PostgreSQL 8.0.0:
=> SELECT length('1234567890 '); length -------11

SQL Server 2000:


SELECT len('1234567890 ') AS len len --10

Oracle 10g:

http://pgdocptbr.sourceforge.net/pg80/functions-string.html

24/01/2012

Funes e operadores para cadeias de caracteres

Pgina 6 de 8

SQL> SELECT length('1234567890 ') AS length FROM sys.dual; LENGTH ---------11

DB2 9.1:
db2 => VALUES(length('1234567890 ')); 1 ----------11

Exemplo 9-3. Concatenao de cadeias de caracteres Abaixo so mostradas consultas que retornam como resultado a concatenao de cadeias de caracteres. Deve ser observado que o SQL Server 2000 usa o operador +, enquanto os demais usam o operador || para concatenar cadeias de caracteres. Alm disso, o Oracle e o DB2 possuem a funo concat, nativa, para concatenar duas cadeias de caracteres. Embora o PostgreSQL e o SQL Server no possuam a funo concat nativa, esta pode ser facilmente definida neste dois produtos. PostgreSQL 8.0.0:
=> SELECT 'ae' || 'io' || 'u' AS vogais; vogais -------aeiou => CREATE FUNCTION concat(text,text) RETURNS text AS ' '> SELECT $1 || $2; '> ' LANGUAGE SQL STRICT; => SELECT concat(concat('ae','io'),'u') AS vogais; vogais -------aeiou

SQL Server 2000:


SELECT 'ae' + 'io' + 'u' AS vogais; vogais -----aeiou CREATE FUNCTION dbo.concat(@s1 varchar(64), @s2 varchar(64)) RETURNS varchar(128) AS BEGIN RETURN @s1 + @s2 END GO SELECT dbo.concat(dbo.concat('ae','io'),'u') AS vogais GO vogais -----aeiou

Oracle 10g:
SQL> SELECT 'ae' || 'io' || 'u' AS vogais FROM sys.dual; VOGAI ----aeiou SQL> SELECT concat(concat('ae','io'),'u') AS vogais FROM sys.dual; VOGAI ----aeiou

DB2 9.1:
db2 => SELECT t.* FROM (VALUES('ae' || 'io' || 'u')) AS t(vogais); VOGAIS -----aeiou db2 => SELECT t.* FROM (VALUES(concat(concat('ae','io'),'u'))) AS t(vogais); VOGAIS -----aeiou

http://pgdocptbr.sourceforge.net/pg80/functions-string.html

24/01/2012

Funes e operadores para cadeias de caracteres

Pgina 7 de 8

9.4.2. Similaridades entre o PostgreSQL e o Oracle


Nota: Seo escrita pelo tradutor, no fazendo parte do manual original. A Tabela 9-9 compara funes e operadores para cadeias de caracteres do PostgreSQL e do Oracle, atravs de exemplos tirados do prprio manual do Oracle, com intuito de mostrar similaridades. Tabela 9-9. Funes e operadores para cadeias de caracteres do PostgreSQL e do Oracle PostgreSQL 8.0.0
=> SELECT CHR(67)||CHR(65)||CHR(84) AS "Dog"; Dog ----CAT

Oracle 10g
SQL> SELECT CHR(67)||CHR(65)||CHR(84) "Dog" 2 FROM sys.dual; Dog --CAT

=> SELECT INITCAP('the soap') AS "Capitals"; Capitals ---------The Soap

SQL> SELECT INITCAP('the soap') "Capitals" 2 FROM sys.dual; Capitals --------The Soap

=> SELECT LOWER('MR. SCOTT MCMILLAN') AS "Lowercase"; Lowercase -------------------mr. scott mcmillan

SQL> SELECT LOWER('MR. SCOTT MCMILLAN') "Lowercase" 2 FROM sys.dual; Lowercase -------------------mr. scott mcmillan

=> SELECT LPAD('Page 1',15,'*.') AS "LPAD example"; LPAD example ----------------*.*.*.*.*Page 1

SQL> SELECT LPAD('Page 1',15,'*.') "LPAD example" 2 FROM sys.dual; LPAD example --------------*.*.*.*.*Page 1

=> SELECT LTRIM('xyxXxyLAST WORD','xy') AS "LTRIM example"; LTRIM example --------------XxyLAST WORD

SQL> SELECT LTRIM('xyxXxyLAST WORD','xy') "LTRIM example" 2 FROM sys.dual; LTRIM example -----------XxyLAST WORD

=> SELECT REPLACE('JACK and JUE','J','BL') AS "Changes"; Changes ---------------BLACK and BLUE

SQL> SELECT REPLACE('JACK and JUE','J','BL') "Changes" 2 FROM sys.dual; Changes -------------BLACK and BLUE

=> SELECT RPAD('MORRISON',12,'ab') AS "RPAD example"; RPAD example -------------MORRISONabab

SQL> SELECT RPAD('MORRISON',12,'ab') "RPAD example" 2 FROM sys.dual; RPAD example ----------------MORRISONabab

=> SELECT RTRIM('BROWNINGyxXxyyx','xy') AS "RTRIM example"; RTRIM example --------------BROWNINGyxX

SQL> SELECT RTRIM('BROWNINGyxXxyyx','xy') "RTRIM example" 2 FROM sys.dual; RTRIM examp ----------BROWNINGyxX

=> SELECT SUBSTR('ABCDEFG',3,4) AS "Substring"; Substring ----------CDEF

SQL> SELECT SUBSTR('ABCDEFG',3,4) "Substring" 2 FROM sys.dual; Substring --------CDEF

=> SELECT TRANSLATE('2KRW229', (> '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', (> '9999999999XXXXXXXXXXXXXXXXXXXXXXXXXX') AS "License"; License --------9XXX999

SQL> SELECT TRANSLATE('2KRW229', 2 '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', 3 '9999999999XXXXXXXXXXXXXXXXXXXXXXXXXX') "License" 4 FROM sys.dual; License -------9XXX999

http://pgdocptbr.sourceforge.net/pg80/functions-string.html

24/01/2012

Funes e operadores para cadeias de caracteres

Pgina 8 de 8

PostgreSQL 8.0.0
=> SELECT TRANSLATE('2KRW229', (> '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0123456789') -> AS "Translate example"; Translate example ------------------2229

Oracle 10g
SQL> SELECT TRANSLATE('2KRW229', 2 '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0123456789') 3 "Translate example" 4 FROM sys.dual; Translate example ----------------2229

=> SELECT TRIM (0 FROM 0009872348900) AS "TRIM Example"; TRIM Example -------------98723489

SQL> SELECT TRIM (0 FROM 0009872348900) "TRIM Example" 2 FROM sys.dual; TRIM Example -----------98723489

=> SELECT UPPER('Large') AS "Uppercase"; Uppercase ----------LARGE

SQL> SELECT UPPER('Large') "Uppercase" 2 FROM sys.dual; Upper ----LARGE

Notas
[1]

Exemplo escrito pelo tradutor, no fazendo parte do manual original.

Anterior

Funes e operadores matemticos

Principal Acima

Prxima

Funes e operadores para cadeias binrias

http://pgdocptbr.sourceforge.net/pg80/functions-string.html

24/01/2012

Вам также может понравиться