標籤:bsp server update sqlserver check 隨機 產生 問題 S3
一個分頁的問題,DTCms3.0中,分頁是根據時間分頁的,如果當添加時間(add_time)都是同一個數值時,不管點擊第幾頁,顯示的資料都是同一個的內容,於是就有了需要把同一個時間改指定隨機日期的功能。
SQL指令碼如下:
DECLARE @BDate datetime, @EDate datetimeSET @BDate = ‘20150701‘ --下限SET @EDate = ‘20150714 23:59:59‘ --上限SELECT id, random_datetime = DATEADD(second,ABS(CHECKSUM(NEWID()))%DATEDIFF(second,@BDate,@Edate),@BDate)FROM dbo.dt_articleWHERE id BETWEEN 1 AND 100
產生的內容為:
id random_datetime3 2015-07-05 07:55:10.0004 2015-07-08 06:15:06.0009 2015-07-12 19:14:24.00010 2015-07-11 20:13:05.00012 2015-07-06 19:09:12.00013 2015-07-09 10:28:59.00014 2015-07-03 07:18:42.00015 2015-07-06 09:46:29.000
此時的ID是對應dt_article表中的ID。
然後我們可以先把產生的資料寫到暫存資料表中,然後關聯更新!
我們修改指令碼如下:
SELECT id, random_datetime = DATEADD(second,ABS(CHECKSUM(NEWID()))%DATEDIFF(second,@BDate,@Edate),@BDate)INTO #Temp FROM dbo.dt_article --更新日期UPDATE dbo.dt_article SET add_time=b.random_datetimeFROM dbo.dt_article a ,#Temp bWHERE a.id=b.id
SQLServer 隨機產生指定範圍的日期