`

SqlServer 得到指定日期时间段内的随机时间

Go 
阅读更多
有需求需要把数据库中的n条记录的时间改成某一时间段内的随机值,写了一函数。分享下。
--用视图辅助得到随机数
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


结果:

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

(所影响的行数为 1 行)
0
0
分享到:
评论

相关推荐

    SQL 更新指定范围的随机时间

    这个任务通常涉及创建或修改数据库记录,使得某个时间字段(例如:`created_at`或`updated_at`)具有在特定时间段内的随机值。下面我们将深入探讨如何实现这一功能。 首先,我们需要理解SQL的基本语法,特别是`...

    Sqlserver2000经典脚本

    │ 2.4.1 日期格式化处理.sql │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ ...

    收集整理的SQL Server自定义函数

    31.求某段时间内星期几的天数 61 32.根据进舍位或四舍五入来求值 63 33.字符串转成16进制函数 64 34.去掉字段中多个带区号电话号码前面的区号 65 35.SQL2000/2005字符串拆分为列表通用函数 67 36.求字符串中汉字的...

    经典SQL脚本大全

    │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ 2.5.3 工作日处理函数(标准节假日).sql │ │ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数....

    SQL2000的一些实用语句

    在学习和使用SQL Server 2000的过程中,掌握一些实用的SQL语句对于提高工作效率、优化数据库管理至关重要。以下是对给定文件中的几个关键知识点进行的详细解释。 #### 1. 创建空表 **知识点:** - **创建空表的基本...

    C#开发经验技巧宝典

    0882 如何对指定时间段进行查询 519 0883 对某期间的数据进行查询的几种方法 519 0884 NOT与谓词进行组合条件的查询 520 19.6 聚合函数 520 0885 聚合函数SUM的使用 520 0886 聚合函数AVG的使用 521 ...

    简单实用的ASP编程代码对照表

    3. **获得系统和浏览器版本**:`&lt;script&gt;window.document.write("版本:"+navigator.appName+navigator.appVersion+" browser.")&lt;/script&gt;` 这段JavaScript代码将显示用户的浏览器名称和版本信息。 4. **去除IE滚动...

    C#程序开发范例宝典(第2版).part13

    精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、...

    C#程序开发范例宝典(第2版).part08

    精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、...

    C#程序开发范例宝典(第2版).part02

    精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、...

    C#程序开发范例宝典(第2版).part12

    精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、...

Global site tag (gtag.js) - Google Analytics