Ir para conteúdo

POWERED BY:

Arquivado

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

Silvaninha

[Resolvido] conversao de mssql em mysql

Recommended Posts

Pessoal,

 

Estou convertendo um banco mssql em mysql.

 

Estou com problemas na hora de inserir um registro com data.

 

A linha que estou tentando inserir é:

 

INSERT into visitas (ip, data_hora, pagina, usuario_logado, sessionID) VALUES ("100.100.100.100", CAST(0x00009FEB01115CDC AS datetime), "pagina.asp","", CAST(281256852 AS decimal(18, 0)))

 

nessa linha tem dois casts, o último insere certinho, o primeiro (datetime), insere o valor NULL.

 

Alguma idéia de como ele inserir a data exportada?

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que tipo de campo no MSSQL você armazena a informação 0x00009FEB01115CDC para representar um campo datetime?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já consegui... no export da tabela, o campo data_hora vem em hexadecimal.

 

o insert estava assim:

 

INSERT into visitas (ip, data_hora, pagina, usuario_logado, sessionID) VALUES ("100.100.100.100", CAST(0x00009FEB01115CDC AS datetime), "pagina.asp","", CAST(281256852 AS decimal(18, 0)))

 

ficou assim:

 

INSERT into visitas (ip, data_hora, pagina, usuario_logado, sessionID) VALUES ("100.100.100.100", CAST('1900-01-01 00:00:00' + INTERVAL CAST(CONV(substr(HEX(0x00009FEB01115CDC),1,8), 16, 10) AS SIGNED) DAY + INTERVAL CAST(CONV(substr(HEX(0x00009FEB01115CDC),9,8), 16, 10) AS SIGNED)* 10000/3 MICROSECOND AS DATETIME), "pagina.asp","", CAST(281256852 AS decimal(18, 0)))

 

ou seja, CAST(0x00009FEB01115CDC AS datetime) foi substituído por:

CAST('1900-01-01 00:00:00' + INTERVAL CAST(CONV(substr(HEX(0x00009FEB01115CDC),1,8), 16, 10) AS SIGNED) DAY + INTERVAL CAST(CONV(substr(HEX(0x00009FEB01115CDC),9,8), 16, 10) AS SIGNED)* 10000/3 MICROSECOND AS DATETIME)

 

:clap:

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.