Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Nilai acak untuk kolom DATETIME

Hari ini, saya akan menjelaskan cara menghasilkan nilai acak untuk bidang DATETIME dalam rentang tertentu. Ini sangat berguna khususnya untuk menghasilkan data uji. Untuk ini, kami akan menggunakan beberapa fungsi bawaan seperti:

  • DATEDIFF
  • DATEADD
  • RAND
  • PUTAR

Nilai DATETIME Acak

DECLARE @startDate DATETIME -- start date
DECLARE @endDate DATETIME -- end date
DECLARE @noOfSec INT -- variable
DECLARE @randomSec INT -- variable

SET @startDate = '2021-06-27 08:00 AM' -- assigning starting date
SET @endDate = '2021-06-27 08:30 AM' -- assigning end date

-- assigning end date -- Get the number of seconds within the date range
set @noOfSec = DATEDIFF(SECOND, @startDate, @endDate)

-- Get random seconds within the date range
set @randomSec = ROUND(((@noOfSec-1) * RAND()), 0)

-- Add the random seconds to get the random datetime value within the daterange
SELECT DATEADD(SECOND, @randomSec, @startDate)

Semoga ini bermanfaat untuk Anda. Selamat TSQL!

Ini pertama kali diterbitkan di sini


  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 Cara Membuat Tabel di Server Tertaut menggunakan T-SQL

  2. Cara Menginstal Azure Data Studio di Mac

  3. Temukan karakter non-ASCII di kolom varchar menggunakan SQL Server

  4. Menerapkan Penanganan Kesalahan dan Transaksi di SQL Server

  5. Memaksa batas waktu kueri di SQL Server