2012-04-07 3 views
0

I Zufallszeitwert bei created Spalte, zB festlegen möchten:Generieren eines rand Zeit

UPDATE review set created=now()-rand(1,30) 

Aber created=now()-rand(1,30) funktioniert nicht. Wie man es korrigiert?

+2

„Funktioniert nicht“ ist zumindest sehr weiter Begriff ... – Griwes

+0

was für 'rand wollen Sie (1999,2012)'? – xdazz

+0

wenn ich an rand (1,30) ändern kann, es funktioniert immer noch nicht – 37336792

Antwort

6

Sie haben DATE_ADD oder DATE_SUB zu verwenden.

Etwas wie folgt aus:

UPDATE 
    review 
SET 
    created = DATE_ADD(NOW(), INTERVAL (24*RAND()) HOUR) 

prüfen the reference zu lernen, wie Funktionen Datum und Uhrzeit verwenden.

Hier ist ein komplexeres Beispiel, das ein zufälliges Datum generiert vor 25 Jahren beginnen.

UPDATE 
    review 
SET 
    created = 
     DATE_ADD(DATE_ADD(DATE_ADD(DATE_ADD(DATE_ADD(DATE_ADD(
     NOW(), 
     INTERVAL (-24*RAND())-1 YEAR), 
     INTERVAL 11*RAND() MONTH), 
     INTERVAL 30*RAND() DAY), 
     INTERVAL 23*RAND() HOUR), 
     INTERVAL 59*RAND() MINUTE), 
     INTERVAL 60*RAND() SECOND) 
+0

wenn ich das Jahr generieren möchte. dies ist mein Weg (NOW(), interval (24 * RAND()) YEAR, INTERVAL (24 * RAND()) ist es eine eror zeigt – 37336792

+0

Warum Sie zwei INTERVAL platziere? Überprüfen Sie die Referenz – jordeu

+0

i anderes Jahr generieren möchten und Monat. danke – 37336792

Verwandte Themen