sql >> Database teknologi >  >> RDS >> Sqlserver

Vælg en tilfældig dato inden for et specifikt interval

select DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(), 0), '1950-01-01')

REDIGER

Hvis dette skal udføres som en del af en sætning, der returnerer flere rækker eller som en del af opdatering, vil RAND() returnere en enkelt værdi for hele resultatsættet. I det tilfælde kan RAND(CHECKSUM(NEWID())) bruges.

select DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(), 0), '1950-01-01'),
       DateAdd(d, ROUND(DateDiff(d, '1950-01-01', '1999-12-31') * RAND(CHECKSUM(NEWID())), 0), '1950-01-01')
from master..spt_values where type = 'P'


  1. Linket server dynamisk katalog til eksekvering af MDX gennem OpenQuery

  2. Hvordan får man tælling af INNER join og tælling af tælling af alle varer?

  3. Mysql-adgang hovedtabel inde i højre tilsluttet underforespørgsel

  4. Entity Framework - Mange til mange?