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

Как да актуализирате редове с произволна дата

Използвайте това, за да генерирате малка дата и време между 01 януари 1900 г. и 06 юни 2079 г. (не е отметнато, SQL не е инсталиран)

DATEADD(day, (ABS(CHECKSUM(NEWID())) % 65530), 0)

NEWID е по-добре, отколкото да се опитвате да използвате RAND:RAND не генерира различни стойности в единичен SELECT или UPDATE (е, не беше в SQL 2000, в случай, че поведението се е променило).

Редактиране:така

UPDATE
  table
SET
  datetimecol = DATEADD(day, (ABS(CHECKSUM(NEWID())) % 65530), 0)

Редактиране:променено 65535 на 65530 и добавен ABS, за да се избегне преливане при горната граница на обхвата



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ACOS() Примери в SQL Server

  2. Как да върнете само датата от тип данни на SQL Server DateTime

  3. Предимства на производителността на SQL Server 2016 Enterprise Edition

  4. Какво представляват ограниченията на базата данни?

  5. Съхранение на двоични типове данни в SQL Server