una rango por para mayor hacer generar funcion fechas fecha entre consulta comparar busqueda buscar mysql sql random timestamp sql-update

mysql - rango - sql actualización aleatoria entre dos fechas



generar rango de fechas sql (3)

Intenté actualizar mi base de datos y cambiar las fechas. Investigué un poco, pero no encontré ningún problema. Entonces utilicé dos marcas de tiempo.

Intenté hacer ese método:

UPDATE `ps_blog_post` SET `time_add` = ROUND((RAND() * (1387888821-1357562421)+1357562421))

Ahora en todas partes, la nueva fecha es:

0000:00:00

Cualquier tipo de ayuda será muy apreciada


Pruebe con esta marca de tiempo de obtener dos dos entre dos marcas de tiempo

SET @MIN = ''2013-01-07 00:00:00''; SET @MAX = ''2013-12-24 00:00:00''; UPDATE `ps_blog_post` SET `time_add` = TIMESTAMPADD(SECOND, FLOOR(RAND() * TIMESTAMPDIFF(SECOND, @MIN, @MAX)), @MIN);

Violín


Tiene la idea correcta, su conversión de los literales int que está utilizando a la marca de tiempo parece FROM_UNIXTIME : le falta una llamada explícita a FROM_UNIXTIME :

UPDATE `ps_blog_post` SET `time_add` = FROM_UNIXTIME(ROUND((RAND() * (1387888821 - 1357562421) + 1357562421)))


Prueba esto:

select DATEADD(SECOND, - Round(259200 * RAND(), 0), getdate())

Declaro los datos actuales y restas segundos a partir de hoy ... El ejemplo toma una fecha aleatoria a partir de hoy y menos 30 días (60 * 60 * 24 * 30) ...