我的漫漫程序之旅

          專注于JavaWeb開發(fā)
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數據加載中……

          SqlServer 得到指定日期時間段內的隨機時間

          --用視圖輔助得到隨機數
          alter VIEW v_RAND
          AS
          SELECT re=RAND()
          GO

          --得到指定時間段的隨機時間
          alter function fn_getdate 
          (
           
          @begin_date datetime,
           
          @end_date datetime
          )
              
          returns varchar(100)
          as
          begin

          declare @second varchar(50)
          if @begin_date is null
           
          SET @begin_date='2009-09-17 08:01:01';
          if @end_date is null
           
          SET @end_date='2009-10-14 17:30:00';
          SET @second = DATEDIFF ( second , @begin_date,@end_date)

          declare @d1 datetime
          declare @rand float
          select @rand=re from v_RAND
          set @d1 = dateadd(second,@rand*@second,@begin_date)
          if datepart(hour,@d1>18
          begin
            
          set @d1=dateadd(hour,-8,@d1)
          end
          if datepart(hour,@d1<8
          begin
            
          set @d1=dateadd(hour,8,@d1)    
          end
              
          return @d1
               
          end
          go
          --測試
          select dbo.fn_getdate(null,null)

          --結果
          ---------------------------------------------------------------------------------------------------- 
          10 12 2009  9:23AM

          (所影響的行數為 
          1 行)


          posted on 2009-10-15 17:49 々上善若水々 閱讀(2528) 評論(1)  編輯  收藏

          評論

          # re: SqlServer 得到指定日期時間段內的隨機時間[未登錄]  回復  更多評論   

          if datepart(hour,@d1) >18
          begin
          set @d1=dateadd(hour,-8,@d1)
          end
          if datepart(hour,@d1) <8
          begin
          set @d1=dateadd(hour,8,@d1)

          加上這段的話
          落在10~16點的幾率比 8~10和16~18點的幾率 為 3:2
          2009-10-20 17:40 | snail

          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 县级市| 澳门| 吴川市| 湟中县| 响水县| 咸丰县| 嘉峪关市| 同心县| 策勒县| 达尔| 信宜市| 鄂伦春自治旗| 刚察县| 桂林市| 南通市| 牟定县| 双辽市| 安化县| 紫阳县| 金湖县| 绵竹市| 蓝田县| 曲周县| 江阴市| 峨眉山市| 元朗区| 孟连| 铁岭市| 锡林郭勒盟| 措美县| 纳雍县| 潞西市| 泸西县| 潜江市| 万源市| 余姚市| 平山县| 犍为县| 无为县| 边坝县| 太湖县|