sql >> Databáze >  >> RDS >> Sqlserver

Jak aktualizovat řádky s náhodným datem

Použijte toto ke generování smalldatetime mezi 1. lednem 1900 a 6. červnem 2079 (nezaškrtnuto, SQL není nainstalováno)

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

NEWID je lepší než zkoušet používat RAND:RAND negeneruje různé řádky hodnot v jediném SELECT nebo UPDATE (v SQL 2000 se tak nestalo, pro případ, že by se chování změnilo).

Edit:takto

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

Edit:změněno 65535 na 65530 a přidáno ABS, aby se zabránilo přetečení na horní hranici rozsahu



  1. Funkce TANH() v Oracle

  2. Co je @@MAX_PRECISION na serveru SQL Server?

  3. PHP PDO:znaková sada, názvy sad?

  4. Jak získám výstupní parametr uložené procedury, který je polem, aby fungoval?