DBMNG数据库管理与应用

独立思考能力,对于从事科学研究或其他任何工作,都是十分必要的。
当前位置:首页 > MySQL > 应用案例

mysql生成时间段内的随机时间

函数:

1 DELIMITER $$
2  
3 CREATE
4 FUNCTION `RandomDateTime`(sd DATETIME,ed DATETIME)
5 RETURNS DATETIME
6 BEGIN
7 RETURNDATE_ADD(sd,INTERVAL FLOOR(1+RAND()*((ABS(UNIX_TIMESTAMP(ed)-UNIX_TIMESTAMP(sd)))-1)) SECOND);
8 END$$
9  
10 DELIMITER ;

Sql代码:

1 DECLARE sub INT DEFAULT 0;
2 DECLARE ret DATETIME;
3  
4 SET sub = ABS(UNIX_TIMESTAMP(ed)-UNIX_TIMESTAMP(sd));
5 SET ret = DATE_ADD(sd,INTERVAL FLOOR(1+RAND()*(sub-1)) SECOND);

测试:

1 </pre>
2 SELECTRandomDateTime(DATE_FORMAT('2010-12-1 10:10:10','%Y-%m-%d %H:%i:%s'),DATE_FORMAT('2010-12-1 11:10:13','%Y-%m-%d %H:%i:%s')) ASt;
3 <pre>


本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号