返回两个时间范围内的一个随机时间
/****************************** * 函数名:RandDateTime * 作用: 返回两个时间范围内的一个随机时间 * Author: 兰习刚 * Date: 2009-11-30 *******************************/ Go --创建函数 create Function RandDateTime (@RandNum Decimal(38,18),--0-1之际随机数值建议Rand()@StartTime DateTime, --第一个时间@EndTime DateTime --第二个时间 ) Returns DateTime As BeginDeclare @HourDiff Decimal(38,18) --两个时间之间的小时差值Declare @MsPartDiff Decimal(38,18) --毫秒部分的差值 Declare @SmallDate DateTimeDeclare @ReturnDateTime DateTime /*取各部分差值*/Set @HourDiff = DateDiff(hh,@StartTime,@EndTime)Set @MsPartDiff = Abs(DateDiff(ms,DateAdd(hh,@HourDiff,@StartTime),@EndTime))Select @SmallDate=(Case When @HourDiff>0 Then @StartTime Else @EndTime End) --取较小的时间 Set @HourDiff = Abs(@HourDiff)ActionLable:Declare @HourDecimal Decimal(38,18) --小时的小数部分 Declare @HourString varchar(200)Set @HourDiff = @HourDiff * @RandNum Set @HourString = CONVERT(VARCHAR(200),@HourDiff)Set @HourString = SubString(@HourString,CharIndex('.',@HourString)+1,Len(@HourString))Set @HourString = '0.' + @HourStringSet @HourDecimal = Convert(Decimal(38,18),@HourString) --获得小时的小数部分Set @MsPartDiff = (@MsPartDiff + @HourDecimal * 3600*1000) * @RandNum /*毫秒差值由于之前@MsPartDiff是两个时间小时之后的毫秒差值 @HourDecimal * 3600*1000 有小时的小数部分的毫秒差值不会大于小时毫秒不会溢出*/Set @ReturnDateTime = DateAdd(hh,@HourDiff,@SmallDate)Set @ReturnDateTime = DateAdd(ms,@MsPartDiff,@ReturnDateTime) Return @ReturnDateTime End--测试示例 select dbo.RandDateTime(Rand(),'2011-03-21 00:00:00.000','2011-03-21 23:59:00.000') go 10--运行结果 /* ----------------------- 2011-03-21 16:44:58.990(1 row(s) affected)----------------------- 2011-03-21 00:00:33.313(1 row(s) affected)----------------------- 2011-03-21 15:04:58.777(1 row(s) affected)----------------------- 2011-03-21 06:32:21.347(1 row(s) affected)----------------------- 2011-03-21 15:11:51.047(1 row(s) affected)----------------------- 2011-03-21 14:39:23.597(1 row(s) affected)----------------------- 2011-03-21 07:24:17.247(1 row(s) affected)----------------------- 2011-03-21 06:15:49.653(1 row(s) affected)----------------------- 2011-03-21 02:06:14.757(1 row(s) affected)----------------------- 2011-03-21 10:49:18.370(1 row(s) affected) */
返回两个时间范围内的一个随机时间相关推荐
- java方法,返回两个日期内的所有date集合,根据开始时间、结束时间得到两个时间段内所有的日期...
在最近的项目中,有这么一个需求,根据开始时间.结束时间得到两个时间段内所有的日期,以下分享我的代码给大家. 1.以下的这个方法适用于jdk1.5以上的版本 /** * 根据开始时间和结束时间返回时间段 ...
- java 假设当前时间_Java如何比较当前时间是否在两个时间范围内
假设ISODateTimeFormat.timeNoMillis()始终是适当的解析器,您希望使用 Interval类.此外,使用 parseLocalTime()而不是parseDateTime() ...
- JAVA判断当前时间在时间范围内
我们在日常开发的时候肯定有围绕时间选择的一些功能, 今天给大家分享一个java如何判断当前时间是否在所选择时间范围内的一个小demo public static void main(String[] ...
- 生成一个随机100内小数,转换为保留两位小数的字符串,不考虑四舍五入的问题。
生成一个随机100内小数,转换为保留两位小数的字符串,不考虑四舍五入的问题.`` public class Demo02 {public static void main(String[] args) ...
- 地图点随机分布均匀_如何在单位球内产生一个均匀分布的随机的点?
在光线跟踪算法里,有一个子问题:如何在一个半径为1的单位球里面,产生一个均匀分布的随机的点(相同的体积里有相同数量的点).下面这篇文章里给出了5种可能的方法 (参考文献[3]).当然,后面我们会看到, ...
- 项目经理怎么在两周内熟悉一个项目的业务?
项目经理空降到一个进行中的项目,怎么在两周内熟悉一个项目的业务? 四步帮你解决:明确项目业务目标,了解系统功能模块,弄清系统核心业务流程,多使用系统. 一.明确项目业务目标 明确项目业务目标,也就是了 ...
- Java黑皮书课后题第8章:*8.31(几何:交点)编写一个方法,返回两条直线的交点。四个点存放在4*2的二维数组points中。编写一个程序,提示用户输入4个点,并显示交点
*8.31(几何:交点)编写一个方法,返回两条直线的交点.四个点存放在4*2的二维数组points中.编写一个程序,提示用户输入4个点,并显示交点 题目 题目描述 破题 代码 本题运行实例 题目 题目 ...
- Java黑皮书课后题第7章:7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数。编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值
7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数.编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值 题目 题目描述 破题 代码 运行实例 题 ...
- Java黑皮书课后题第3章:**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠
**3.28(几何:两个矩形)编写一个程序,提示用户输入两个矩形中心的x坐标和y坐标以及矩形的宽度和高度,然后判断第二个矩形是在第一个矩形内,还是和第一个矩形重叠 题目 题目概述 运行示例 破题 代码 ...
- java自定义一个方法,用于返回两个整数的和
java自定义一个方法,用于返回两个整数的和 /*** 自定义一个方法* 用于返回两个整数的和*/ public class Test17 {public static int getSum(int ...
最新文章
- java基本类型转换,随记
- 中小企业对于云计算的3大误解
- P2888 [USACO07NOV]牛栏Cow Hurdles(Floyd算法)
- FIE2020-2020年的论文相关记录
- Java泛型详解,通俗易懂只需5分钟
- not in SQL语句转化为 not exists
- ORM框架-工具-产品开发之四 开发代码生成器 Template Studio Development (一)
- 对AIOps智能化运维的基础理解
- 卡诺模型案例分析_质量管理神器,Kano模型您可知道?
- python语言开发环境搭建_Python开发环境搭建-Go语言中文社区
- ECG的滤波和检波资源汇总
- 深度学习:感知机perceptron
- 操作系统课程设计-文件管理系统(JAVA)
- C语言实现一个关机程序
- 【微信小程序怎么开店铺】微信小程序店铺怎么制作?
- CUBA Platform
- la la love on my mind
- 浅谈强缓存和协商缓存
- 【技巧】我是如何 搜索 到想要的信息的
- VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223)
热门文章
- ActionScript3.0中获取变量类型的方法
- C++中利用输入输入流进行一行输入
- 使用Spring实现AOP(XML+注解)
- 在idea中配置jetty
- .net core 图片合并,图片水印,等比例缩小,SixLabors.ImageSharp
- java-weixin-tools接入微信
- a标签增加onclick事件提示未定义function
- 自写的简单屏蔽特定字符的TextBox和数字TextBox
- Series的idxmax和argmax
- 记录一次JDK版本问题,引发的思考