quinta-feira, 21 de fevereiro de 2002

funções de linha única.

Pessoal, tudo bem?
Vamos lá, alguem sabe o que é uma função de uma única linha ?
Bem, isso é bastante usado no oracle para formatar dados de saida, muito bom mesmo, é ajuda a vida quando trabalhamos com mascaras.


A sintaxe é bem facil:
function_name (coluna/expressão, [arg1, arg2,...])


bem, vou dar alguns exemplos simples disso:


Uma lista de funções:
Lower(coluna) - Converte os caracteres para letras minusculas
upper(coluba) - converte os dados para letras maiusculas
Initcap(coluna) - Serve para colocar a 1º letra em maiusculas
SubStr(coluna,m,n) - Serve para retornar um pedaço da string
Length(coluna) - Retorna o numero de caracteres da string
inStr(coluna,m) - Retorna a posição numerica do caractere nomeado
Trim(coluna) - Essa é bom, tira os espaços em brando nas laterais


Exemplos:


lower:
select lower(table_name) from all_tables


LOWER(TABLE_NAME)
------------------------------
tb_endereco_comprador
tb_notificacao
tb_origem_produto
tb_periodo
tb_periodo_extra
tb_responsavel_balanco_mensal



UPPER
select UPPER(table_name) from all_tables


UPPER(TABLE_NAME)
------------------------------
TB_ENDERECO_COMPRADOR
TB_NOTIFICACAO
TB_ORIGEM_PRODUTO
TB_PERIODO
TB_PERIODO_EXTRA
TB_RESPONSAVEL_BALANCO_MENSAL


 


INITCAP
select InitCap(table_name) from all_tables


INITCAP(TABLE_NAME)
------------------------------
Tb_Endereco_Comprador
Tb_Notificacao
Tb_Origem_Produto
Tb_Periodo
Tb_Periodo_Extra
Tb_Responsavel_Balanco_Mensal


 


SUBSTR
select SubStr(table_name,0,8) from all_tables


SUBSTR(T
--------
TB_ENDER
TB_NOTIF
TB_ORIGE
TB_PERIO
TB_PERIO
TB_RESPO


 


LENGTH
select LENGTH(table_name) from all_tables

LENGTH(TABLE_NAME)
------------------
                21
                14
                17
                10
                16
                29


INSTR
select INSTR(table_name,'A') from all_tables

INSTR(TABLE_NAME,'A')
---------------------
                   18
                   11
                    0
                    0
                   16


TRIM
select TRIM(table_name) from all_tables
TRIM(TABLE_NAME)
------------------------------
TB_ENDERECO_COMPRADOR
TB_NOTIFICACAO
TB_ORIGEM_PRODUTO
TB_PERIODO
TB_PERIODO_EXTRA
TB_RESPONSAVEL_BALANCO_MENSAL


Bem, essas são as de tratamento de String, proxima vez eu mando as numericas...


FalowS!
PS: Para não ficar esse cabeçalho feio é só colocar:
Select função(coluna) Apelido From tabela
Dar um apelido a expressão! !



Esta matéria foi postada originalmente no ASP4Developers por Allan Torres (site), que na época era "Analista de sistemas, trabalho com ASP, Oracle, PHP, C, Ferramentas Case e estudo Eng. Elétrica. Sempre as ordens! ]:)". Hoje, vai saber...

0 comentários: