PostgreSql - Formatar data
Tecnologia da Informação

PostgreSql - Formatar data


Serão descritos 2 exemplos de como formatar uma data.

1º Exemplo: exibir a data no formato dd/mm/aaaa (dia/mês/ano):

Solução: vamos utilizar a função to_char para formatar a data.

Na imagem abaixo, vemos a tabela "tb_fornecedor", vamos formatar a data da coluna "data".



Para formatar a data executamos a sentença abaixo:

SELECT 
produto,
quantidade,
valor, 
segmento,
/*Na função to_char utilize primeiro o nome da coluna depois o formato*/
to_char(data, 'DD/MM/YYYY') 
FROM tb_fornecedor;

Após executarmos a sentença, a data foi convertida. Podemos visualizar o resultado na imagem abaixo.



Podemos perceber que a coluna que foi convertida passou a se chamar to_char, nome da função que usamos, caso seja necessário manter o mesmo nome da coluna ou escolher um outro nome podemos colocar "AS nome_da_coluna" após a função 'to_char'. Quando fazemos isso estamos criando um alias para a coluna (apelido). 

SELECT 
produto,
quantidade,
valor, 
segmento,
to_char(data, 'DD/MM/YYY') AS data 
FROM tb_fornecedor;

Após executarmos a sentença, a  coluna 'data' continua se chamando 'data'. Podemos visualizar o resultado na imagem abaixo.


2º Exemplo: exibir a data por extenso. Ao invés de exibir a data como '2013-09-12' queremos exibir como 'Quinta-feira, 12 de setembro de 2013'.



Antes de exibir a data no formato proposto, vamos verificar como a função to_char pode ser utilizada.

SELECT 
data,
/*seleciona o dia*/
to_char(data, 'DD') AS dia,
/*seleciona o dia da semana*/
to_char(data, 'Day') AS dia_sem,
/*seleciona o mes em minusculo*/ 
to_char(data, 'month') AS mes_minusc,
/*seleciona o mes em maiusculo*/ 
to_char(data, 'MONTH') AS mes_maiusc,
/*seleciona o mes com a primeira letra em maiusculo*/ 
to_char(data, 'Month') AS pri_maiusc,
/*seleciona o ano com 4 digitos*/
to_char(data, 'YYYY') AS ano,
/*seleciona o ano com 2 digitos*/
to_char(data, 'YY') AS ano
FROM tb_fornecedor;

Após a execução da sentença acima, podemos visualizar algumas funcionalidades de to_char.



Mas os dados apareceram em inglês. E agora?

Para que as coluna sejam exibidas em português, ou em outro idioma, devemos utilizar o prefixo TM(Translation Mode - Modo de Tradução). O TM converterá o dia e o mês para o padrão local armazenado no lc_time. 
O lc_time que indica como serão exibidas as informações de data e hora. 
Para verificar o lc_time do banco executamos a seguinte sentença:

SHOW lc_time;

Veja o retorno da sentença na imagem abaixo:


Agora que já sabemos o que é TM, vamos utilizá-lo para que os campos da tabela sejam exibidos em português:

SELECT 
data,
/*Seleciona o dia*/
to_char(data, 'DD') AS dia,
/*Seleciona o dia da semana. Idioma em português devido ao prefixo TM*/
to_char(data, 'TMDay') AS dia_sem,
/*Seleciona o mês em minusculo. Idioma em português devido ao prefixo TM*/ 
to_char(data, 'TMmonth') AS mes_minusc,
/*Seleciona mês em maiúsculo. Idioma em português devido ao prefixo TM*/ 
to_char(data, 'TMMONTH') AS mes_maiusc,
/*Seleciona mês com a primeira letra em maiúsculo. Idioma em português devido ao prefixo TM*/ 
to_char(data, 'TMMonth') AS pri_maiusc,
/*Seleciona o ano com 4 digitos*/
to_char(data, 'YYYY') AS ano,
/*Seleciona o ano com 2 digitos*/
to_char(data, 'YY') AS ano
FROM tb_fornecedor;

Após a execução da sentença acima, as colunas serão exibidas em português. Podemos visualizar o resultado da sentença na imagem abaixo.



Agora os dados já aparecem em português, só falta exibirmos no formato que foi proposto no inicio do exemplo. Se você não se lembra mais, vamos relembrar:  a data  '2013-09-12' deverá ser exibida como 'Quinta-feira, 12 de setembro de 2013'.

SELECT 
produto,
quantidade,
valor, 
segmento,
/*Perceba que a preposição "de" está entre aspas duplas para que a função to_char não a converta*/
to_char(data, 'TMDay, DD "de" TMMonth YYYY') AS data
FROM tb_fornecedor;

Após executarmos a sentença a data será exibida no formato esperado. Veja o resultado na imagem abaixo:






  









loading...

- Postgresql - Função Count
O artigo apresenta 8 exemplos de como utilizar a função de agrupamento "count", das seguintes formas: COUNT(*);COUNT(nome_da_coluna);COUNT COM GROUP BY;COUNT(DISTINCT(nome_da_coluna)); Caso tenha interesse faça o download dos scripts ou veja no GitHub. ...

- Mysql Sum - Soma
A função SUM retorna a soma de valores de uma coluna. SINTAXE SELECT SUM(nome_da_coluna) FROM nome_da_tabela; Para os 6 exemplos abaixo, utilizaremos a tabela "tb_fornecedor". Veja a imagem abaixo: Caso tenha interesse faça o download dos...

- Postgresql - Diferença Entre Datas
Neste post vamos apresentar 4 exemplos de como calcular a diferença entre datas. Caso tenha interesse, faça o download ou veja o script no Github. Para calcular a diferença entre duas datas, em dias, no postgresql utilizamos o operador aritmético...

- Mysql - Formatar Data E Hora
Serão descritos 2 exemplos de como formatar data e hora. 1º Exemplo: exibir a data no formato dd/mm/aaaa (dia/mês/ano) e a hora no formato (hh:mm): Solução: vamos utilizar a função date_format para formatar a data e a hora. date_format(coluna_da_tabela, '%formato')...

- Postgresql Sum - Soma
A função SUM retorna a soma de valores de uma coluna. SINTAXE SELECT SUM(nome_da_coluna) FROM nome_da_tabela; Para os 6 exemplos abaixo, utilizaremos a tabela "tb_fornecedor". Veja a imagem abaixo: 1º Exemplo Cenário: um funcionário quer...



Tecnologia da Informação








.