Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

227
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda