Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Fernando

Converter data

Recommended Posts

Ola pessoal boa tarde.

É o seguinte, aqui na empresa possuimos o sistema microsiga protheus.

 

estou desenvolvendo alguns Relatorios em PHP porque o padrão do sistema não atende. E esta ficando muito bacana porem estou tendo alguns problemas.

Em especifico com as datas, o formato das datas do protheus dentro do banco é VARCHAR, algo que dificulta bastante, para piorar ela traz no padrão AAAAMMDD tudo junto e sem "-" ou "/".

Para mostrar as datas de emissão e de entrega eu estou precisando trazer no formato br dd/mm/aaaa.

Ja fiz diversas pesquisas e tambem ja utilizei alguns metodos que eu conheço como por exemplo.

CAST e CONVERT

O problema é que em todas elas o maximo que consegui fazer foi mudar para AAAA-MM-DD

usando por exemplo:

SELECT CAST(C7_EMISSAO AS DATE)FROM SC7010


Se alguem tiver alguma ideia de como fazer peço que por favor me ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste um destes modo:

 

 SELECT CONVERT(VARCHAR(12),GETDATE(),101) AS '101', --mm/dd/aaaaCONVERT(VARCHAR(12),GETDATE(),102) AS '102', --aa.mm.ddCONVERT(VARCHAR(12),GETDATE(),103) AS '103', --dd/mm/aaaaCONVERT(VARCHAR(12),GETDATE(),104) AS '104', --dd.mm.aaCONVERT(VARCHAR(12),GETDATE(),105) AS '105', --dd-mm-aaCONVERT(VARCHAR(12),GETDATE(),106) AS '106', --dd mês aaCONVERT(VARCHAR(12),GETDATE(),107) AS '107', --Mês dd, aaCONVERT(VARCHAR(12),GETDATE(),108) AS '108', --hh:mi:ssCONVERT(VARCHAR(12),GETDATE(),109) AS '109', --mês dd aaaa hh:mi:ss:mmmAM (ou PM)CONVERT(VARCHAR(12),GETDATE(),110) AS '110', --mm-dd-aaCONVERT(VARCHAR(12),GETDATE(),111) AS '111', --aa/mm/ddCONVERT(VARCHAR(12),GETDATE(),112) AS '112', --aammddCONVERT(VARCHAR(12),GETDATE(),113) AS '113', --dd mês aaaa hh:mi:ss:mmm (24h)CONVERT(VARCHAR(12),GETDATE(),114) AS '114', --hh:mi:ss:mmm(24h)CONVERT(VARCHAR(12),GETDATE(),120) AS '120', --aaaa-mm-dd hh:mi:ss(24h)CONVERT(VARCHAR(12),GETDATE(),121) AS '121' --aaaa-mm-dd hh:mi:ss.mmm(24h)  select CONVERT(VARCHAR(12),GETDATE(),103) AS '103' -- dd/mm/aaaa 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Teste um destes modo:

 

 SELECT CONVERT(VARCHAR(12),GETDATE(),101) AS '101', --mm/dd/aaaaCONVERT(VARCHAR(12),GETDATE(),102) AS '102', --aa.mm.ddCONVERT(VARCHAR(12),GETDATE(),103) AS '103', --dd/mm/aaaaCONVERT(VARCHAR(12),GETDATE(),104) AS '104', --dd.mm.aaCONVERT(VARCHAR(12),GETDATE(),105) AS '105', --dd-mm-aaCONVERT(VARCHAR(12),GETDATE(),106) AS '106', --dd mês aaCONVERT(VARCHAR(12),GETDATE(),107) AS '107', --Mês dd, aaCONVERT(VARCHAR(12),GETDATE(),108) AS '108', --hh:mi:ssCONVERT(VARCHAR(12),GETDATE(),109) AS '109', --mês dd aaaa hh:mi:ss:mmmAM (ou PM)CONVERT(VARCHAR(12),GETDATE(),110) AS '110', --mm-dd-aaCONVERT(VARCHAR(12),GETDATE(),111) AS '111', --aa/mm/ddCONVERT(VARCHAR(12),GETDATE(),112) AS '112', --aammddCONVERT(VARCHAR(12),GETDATE(),113) AS '113', --dd mês aaaa hh:mi:ss:mmm (24h)CONVERT(VARCHAR(12),GETDATE(),114) AS '114', --hh:mi:ss:mmm(24h)CONVERT(VARCHAR(12),GETDATE(),120) AS '120', --aaaa-mm-dd hh:mi:ss(24h)CONVERT(VARCHAR(12),GETDATE(),121) AS '121' --aaaa-mm-dd hh:mi:ss.mmm(24h)  select CONVERT(VARCHAR(12),GETDATE(),103) AS '103' -- dd/mm/aaaa 

 

A.Jr Obrigado por responder.

 

Nenhuma das formas funcionou. Na verdade eu já Havia testado. Acho que esse metodo funciona bem quando o campo já esta no formato date, como no meu caso esta em varchar, então não funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentou assim?

 

 

SELECT CONVERT(VARCHAR(12),CAST(C7_EMISSAO AS DATE),103) AS DATA FROM SC7010

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.