Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изберете произволна дата в определен диапазон

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

РЕДАКТИРАНЕ

Ако това трябва да се изпълни като част от оператор, който връща множество редове или като част от актуализация, RAND() ще върне една стойност за целия набор от резултати. В този случай може да се използва RAND(CHECKSUM(NEWID())).

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да разгранича няколко реда в една колона със запетая?

  2. Как да използвате Предаване на низ, разделен със запетая, в динамична заявка в SQL

  3. Невалидно име на обект след възстановяване на база данни на SQL Server 2008

  4. Групирайте и сумирайте стойности за всеки запис в SQL

  5. Какъв низ да използвам за свързване към SQL Server?