有需求需要把数据库中的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 行)
分享到:
相关推荐
│ 2.4.1 日期格式化处理.sql │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ ...
31.求某段时间内星期几的天数 61 32.根据进舍位或四舍五入来求值 63 33.字符串转成16进制函数 64 34.去掉字段中多个带区号电话号码前面的区号 65 35.SQL2000/2005字符串拆分为列表通用函数 67 36.求字符串中汉字的...
│ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ 2.5.3 工作日处理函数(标准节假日).sql │ │ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数....
0882 如何对指定时间段进行查询 519 0883 对某期间的数据进行查询的几种方法 519 0884 NOT与谓词进行组合条件的查询 520 19.6 聚合函数 520 0885 聚合函数SUM的使用 520 0886 聚合函数AVG的使用 521 ...
精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、...
精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、...
精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、...
精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后附录提供快速索引,即查、即学、...
262 实例181 修改文件及目录的名字 264 6.4 文件目录 265 实例182 获得临时文件目录 265 实例183 获取应用程序所在目录 266 实例184 得到系统当前目录 266 实例185 在程序中改变当前...
74 <br>0107 如何获得字符串中数字或字母的长度 74 <br>0108 如何获得字符串中某个数字的位置 75 <br>0109 获得字符串中汉字的个数 76 <br>0110 获得字符串中指定后几位字符 76 <br>0111 ...