Vi que ja tem uma para essa questão para MySql
Quando gravo um campo data sai correto por exemplo:
01/01/1990
Quando vou na aba listagem e clico em alterar a data retorna
19/90/0101
Existe alguma forma de corrigir isso?
Autor: Divaldo Almir Antunes
33 comentários
DATE_FORMAT(CAMPO_DATA, '%d/%m/%Y)
Abraço.
id_lic
,li01_contribuinte
,li01_nmempresa
,li01_nomefantasia
,to_char(li01_inicio,"DD/MM/YYYY") as li01_inicio
,li01_cgccpf
,li01_horario
,li01_horario1
,li01_especial
,li01_ines
,li01_ender
,li01_numero
,li01_bairro
,li01_atividade
,li01_restricoes
,li01_datcad
,li01_taxarefer
,li01_area
from cad_lic'.
( ($where)? ' where '.$where:'').
( ($orderBy) ? ' order by '.$orderBy:'')); Como o texto do select esta entre ' ' , eu usei " ", quando executo o form vem o erro: Erro PDO: SQLSTATE[42703]: Undefined column: 7 ERRO: coluna "DD/MM/YYYY" não existe LINE 6: ,to_char(li01_inicio,"DD/MM/YYYY") as li01_inicio Eu estava acostuma a usar no delphi o QuotedStr para fazer isso. Desculpe o excesso de perguntas, mas trabalhei muito tempo com Delphi e agora estou me aventurando pelo PHP e postgre Mais uma vez Obrigado Luis Eugenio pelas respostas
em php existe o recurso que chamamos de "escapar" o caractere para resolver este problema de aspas dentro de aspas. Existem duas formas de resolver, a primeira é trocando as aspas de fora para aspas duplas, porque o php aceita as duas, já o comando sql tem que ser aspas simples. Ficaria assim: return self::executeSql("select
id_lic
,li01_contribuinte
,li01_nmempresa
,li01_nomefantasia
,to_char(li01_inicio,'DD/MM/YYYY') as li01_inicio
,li01_cgccpf
,li01_horario
,li01_horario1
,li01_especial
,li01_ines
,li01_ender
,li01_numero
,li01_bairro
,li01_atividade
,li01_restricoes
,li01_datcad
,li01_taxarefer
,li01_area
from cad_lic".
( ($where)? ' where '.$where:'').
( ($orderBy) ? ' order by '.$orderBy:'')); a outra é deixando do jeito que voce ja fez mas escapando as aspas simples do parametro 'DD/MM/YYYY' adicionando uma barra invertida '\' na frente de cada uma assim: ,to_char(li01_inicio,\'DD/MM/YYYY\') as li01_inicio
Abraço.