Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

230
Visualizações
Conversión de campos de TEXTO de fecha y hora en un campo de marca de tiempo INT unix en SQL

Actualmente tengo una base de datos mySQL con dos campos de TEXTO: Date y Time . Estos tienen el formato 'dd/mm/aaaa' y '0:00' respectivamente, por ejemplo, '11/08/2020' y 19:12. Quiero crear un tercer campo llamado Timestamp de tiempo (de tipo INT) y convertir los dos campos originales en este campo de marca de tiempo y eliminar los campos de texto de fecha/hora.

Investigué un poco con respecto al uso de UNIX_TIMESTAMP() y STR_TO_DATE() pero parece que no puedo hacerlo funcionar, el formato parece ser incorrecto.

¿Cómo puedo lograr esto en SQL y convertir dos campos de cadena que representan la fecha y la hora en un tercer campo para reemplazarlos, que solo almacena la marca de tiempo de Unix?

Este es mi mejor intento hasta ahora...

 SELECT UNIX_TIMESTAMP(STR_TO_DATE(CONCAT(`InfractionDate`, " ", `InfractionTime`), '%d %M %Y %h:%i%p')) FROM `playerinfractions`

La tabla se llama playerinfractions y la fecha/hora se almacenan en los campos de TEXTO InfractionDate y InfractionTime .

¡Muchas gracias de antemano!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

El patrón de formato que usa en la función STR_TO_DATE() es incorrecto.
Prueba esto:

 SELECT UNIX_TIMESTAMP( STR_TO_DATE( CONCAT(`InfractionDate`, ' ', `InfractionTime`), '%d/%m/%Y %H:%i') ) FROM `playerinfractions`
over 4 years ago · Santiago Trujillo Relatório

0

Debe decirle a STR_TO_DATE el formato correcto de su fecha y hora, que sugirió que fuera '%d/%m/%Y %H:%i'

 SELECT UNIX_TIMESTAMP( STR_TO_DATE( CONCAT('10/08/2020', ' ', '12:20'), '%d/%m/%Y %H:%i' ) ) ) FROM `playerinfractions`

Así que usando tus columnas

 SELECT UNIX_TIMESTAMP( STR_TO_DATE( CONCAT(`InfractionDate`, ' ', `InfractionTime`), '%d/%m/%Y %H:%i' ) ) ) FROM `playerinfractions`
over 4 years ago · Santiago Trujillo Relatório

0

Intenté pasar una cadena a la misma función en el siguiente formato y funcionó. También puede compartir su formato para verificarlo más a fondo.

 select UNIX_TIMESTAMP(STR_TO_DATE(CONCAT('8/12/2020',' ', '12:01:49' ),'%m/%d/%Y %h:%i:%s'))
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda