2016-10-20 1 views
0

j'ai la table SQL Server 2005 qui contient 3000 lignes comme cellemise à jour plusieurs lignes avec serveur SQL datetime aléatoire

<<ID>>    <<Time>> 
5620298  2015-01-05 16:00:00.000 
5620299  2015-01-06 16:00:00.000 
5620300  2015-01-07 16:00:00.000 
5620301  2015-01-08 16:00:00.000 
5620302  2015-01-09 16:00:00.000 
5620303  2015-01-10 16:00:00.000 
5620304  2015-01-11 16:00:00.000 
5620305  2015-01-12 16:00:00.000 
5620306  2015-01-13 16:00:00.000 

je veux changer de temps avec minutes au hasard entre 1 à 10 minutes

<<ID>>    <<Time>> 
5620298  2015-01-05 16:02:00.000 
5620299  2015-01-06 16:05:00.000 
5620300  2015-01-07 16:01:00.000 
5620301  2015-01-08 16:00:00.000 
5620302  2015-01-09 16:02:00.000 
5620303  2015-01-10 16:07:00.000 
5620304  2015-01-11 16:06:00.000 
5620305  2015-01-12 16:09:00.000 
5620306  2015-01-13 16:00:00.000 

Comment puis-je faire ceci?

Merci!

+0

Pouvez-vous montrer le schéma de la table et formater vos données (entrée et sortie) afin que nous puissions le voir mieux? –

Répondre

1

Vous pouvez:

UPDATE TBL 
    SET [TIME] = DATEADD(MINUTE, ABS(CHECKSUM(NEWID()) % 10) + 1, [TIME]) 

Pas très efficace mais sans doute cela est juste pour les tests.

+0

je l'ai testé et ça marche bien merci –

0

Vous pouvez RAND()

MISE À JOUR TBL SET [TIME] = DATEADD (MINUTE, ABS (ROND (RAND() * 10,0)), [TIME])

Vous pouvez obtenir des nombres aléatoires en double, d'accord avec Ale; nous pouvons utiliser NEWID() à la place.