首頁 > 資料庫 > mysql教程 > 随机生成指定范围的日期

随机生成指定范围的日期

WBOY
發布: 2016-06-07 14:57:47
原創
1767 人瀏覽過

在MSSQL中,有些商品会伪造一些评价,但是评价信息可能会集中在一天或几天内,现在需要把日期打散,平均分不到一个日期段内,那么这段代码就有用了。 无 DECLARE @EvId INT,@PiD INT;DECLARE Evaluate CURSOR FOR SELECT EvaluateId,ProductId FROM dbo.Produ

在MSSQL中,有些商品会伪造一些评价,但是评价信息可能会集中在一天或几天内,现在需要把日期打散,平均分不到一个日期段内,那么这段代码就有用了。
DECLARE @EvId INT,@PiD INT;
DECLARE Evaluate CURSOR FOR SELECT EvaluateId,ProductId FROM dbo.ProductEvaluate WHERE CreateTime > '2014-10-20 00:00:01';

OPEN Evaluate;
FETCH NEXT FROM Evaluate INTO @EvId,@PiD;
	WHILE @@FETCH_STATUS = 0
		BEGIN
			DECLARE @BDate datetime, @EDate DATETIME,@PDate DATETIME;
			SET @BDate = '20140101'          --下限
			SELECT @BDate = CONVERT(varchar(100), CreateTime, 112) FROM dbo.Products WHERE ProductId = @PiD;
			SET @EDate = '20141020 23:59:59' --上限
			UPDATE dbo.ProductEvaluate SET CreateTime =DATEADD(second,ABS(CHECKSUM(NEWID()))%DATEDIFF(second,@BDate,@Edate),@BDate) WHERE EvaluateId = @EvId ;
			FETCH NEXT FROM Evaluate INTO @EvId,@PiD;
		END
CLOSE Evaluate;
DEALLOCATE Evaluate;
登入後複製
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板