Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Giá trị ngẫu nhiên cho cột DATETIME

Hôm nay, tôi sẽ mô tả cách tạo giá trị ngẫu nhiên cho trường DATETIME trong một phạm vi nhất định. Điều này rất hữu ích, đặc biệt để tạo dữ liệu thử nghiệm. Đối với điều này, chúng tôi sẽ sử dụng một số hàm tích hợp như:

  • DATEDIFF
  • DATEADD
  • RAND
  • VÒNG

Giá trị DATETIME Ngẫu nhiên

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)

Hy vọng điều này sẽ hữu ích cho bạn. Chúc TSQLing vui vẻ!

Đây là lần đầu tiên được xuất bản ở đây


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm tách tương đương trong T-SQL?

  2. Chuyển đổi định dạng Ngày thành định dạng DD / MMM / YYYY trong SQL Server

  3. RADIANS () Ví dụ trong SQL Server

  4. Nội bộ sao chép giao dịch SQL Server

  5. Tạo hồ sơ thư cơ sở dữ liệu (SSMS)