Introdução
O principal objetivo deste post é explicar como se pode manipular o resultado de um select utilizando o comando REPLACE.
A finalidade do REPLACE é alterar o resultado de um determinada query para um devido fim.
Neste exemplo foi utilizado o banco de dados firebird.
Sintaxe:
...
REPLACE(STRING,'OLD_STRING','NEW_STRING');
...
Onde:
- STRING - String a ser alterada.
- OLD_STRING - Trecho da STRING contida no STRING a ser alterada ou substituida.
- NEW_STRING - Trecho que substituirá o valor do OLD_STRING
Montando ambiente de teste
Para testarmos neste post iremos criar uma tela simples chamada PESSOA que guarda algumas informações
pertinentes a uma determinada pessoa (DATA_NASCIMENTO, nome, numero de filhos)
CREATE TABLE PESSOAS
(
PES_ID INTEGER PRIMARY KEY,
PES_DATA_NASCIMENTO DATE,
PES_NUMERO_FILHOS INT,
PES_NOME VARCHAR(48)
);
Após criar uma tabela será necessário popula-la.
INSERT INTO PESSOAS VALUES(1,'1988-12-31',3,'MARCOS');
INSERT INTO PESSOAS VALUES(2,'1982-03-31',5,'MARIO');
INSERT INTO PESSOAS VALUES(3,'1997-10-3',4,'JULHO');
INSERT INTO PESSOAS VALUES(4,'1991-11-12',2,'ROBERTO');
INSERT INTO PESSOAS VALUES(5,'1989-12-15',1,'FERNANDO');
Agora podemos iniciar o post de vez.
SELECT
REPLACE(PES_DATA_NASCIMENTO,'-','/') AS DATA_NOVO_FORMATO,
PES_DATA_NASCIMENTO AS DATA_FORMATO_NORMAL
FROM
PESSOAS
Como poderá ser visto no resultado desta query no item DATA_NOVO_FORMATO os locais onde existe o simbolo - será substituido por /.
Figura 1: Resultado da execução da query.
Conclusão
Como foi visto ao longo do do post a utilização do comando REPLACE é muito simples e pode ajudar muito quando é necessário formatar o resultado de uma query.