Página 1 de 1

MySql - Data/Hora

Enviado: 11 Dez 2019 08:25
por tonicm
Tenho uma tabela em MySQL com um campo do tipo data/hora, ao retornar a informação para a aplicação em harbour 3.4 (rddado), não consigo fazer o tratamento correto do campo.
Ora retorna o campo com os milésimos de segundos ou só a data.
Com o Substr dá erro, pois o campo é tipo data.
Como apresentar em formato data/hora sem os milésimos de segundos ?

Código: Selecionar todos

   oRs := ExecutaMySQL( "SELECT MAX(DATA_HORA) "+;
                        "FROM cat_hw_simplehelp_cab" )
   xx1 := oRs:Fields( 0 ):Value
   xx2 := DToC(oRs:Fields( 0 ):Value)
   ? xx1
   ? xx2
   oRs:Close()
Resultado:

Código: Selecionar todos

2019.12.10 18:35:27.000
2019.12.10

MySql - Data/Hora

Enviado: 11 Dez 2019 08:46
por JoséQuintas
Só pra chamar a atenção:

O retorno está correto, é datetime que o Harbour também tem.
Agora trata-se de usar funções do Harbour, não tem a ver com ADO ou MySQL, e sim diretamente com Harbour.

MySql - Data/Hora

Enviado: 11 Dez 2019 08:59
por JoséQuintas
Em último caso, ou quebra-galho, o método antigo sempre funciona:
datetime.png

MySql - Data/Hora

Enviado: 11 Dez 2019 09:14
por susviela@bol.com.br
JoséQuintas escreveu:Em último caso, ou quebra-galho, o método antigo sempre funciona:

Código: Selecionar todos

s := Transform(x, "") 

Qual a função dessa linha ?

.

MySql - Data/Hora

Enviado: 11 Dez 2019 09:31
por JoséQuintas
Ela transforma qualquer coisa em string.

? transform( 1, "" ) + Transform( Date(), "" ) + Transform( hb_DateTime(), "" ) + """

A gente costuma usar pra coisas do tipo Transform( 500.5, "@E 999,999,999.99" )

MySql - Data/Hora

Enviado: 11 Dez 2019 11:10
por susviela@bol.com.br
JoséQuintas escreveu:Ela transforma qualquer coisa em string.

? transform( 1, "" ) + Transform( Date(), "" ) + Transform( hb_DateTime(), "" ) + """

- Boa dica, professor, sempre bebendo da sua sabedoria em programação xBase, obrigado por compartilhar conosco.

:-Y :-Y :-Y

MySql - Data/Hora

Enviado: 11 Dez 2019 11:18
por tonicm
Não sabia que o transform convertia em carater quando o 2º parâmetro é "".
Funcionou bem.

Obrigado JoséQuintas :-Y :-Y :-Y

MySql - Data/Hora

Enviado: 11 Dez 2019 13:11
por alxsts
Olá!

Convém consultar as funções de data e hora do Harbour Funções de data e hora do Harbour.

DateTimeTimestamp