CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

怎么生成随机时间比较简单??

楼主sublx()2006-07-03 12:42:34 在 MS-SQL Server / 基础类 提问

如题。我要在晚上7:00到9:00随机生成一个时间怎么做比较简单??谢谢~~! 问题点数:10、回复次数:9Top

1 楼fcuandy(了此残生.)回复于 2006-07-03 12:45:17 得分 0

这种问题干嘛老丢给SQL来做Top

2 楼LouisXIV(夜游神)回复于 2006-07-03 12:50:53 得分 2

又是把什么都扔给SQL的^^;  
   
  建个个临时表,里面放1~60,然后用order   by   newid()随机取数字出来拼成时间Top

3 楼fcuandy(了此残生.)回复于 2006-07-03 13:06:03 得分 3

方法1  
   
  DECLARE   @s   VARCHAR(2)  
  SELECT   @s=LEFT(NEWID(),2)  
  DECLARE   @c   TABLE   (id   int,c   char(1))  
  INSERT   @c  
  SELECT   7,'A'  
  UNION   SELECT   2,'B'  
  UNION   SELECT   3,'C'  
  UNION   SELECT   4,'D'  
  UNION   SELECT   5,'E'  
  UNION   SELECT   6,'F'  
  UNION   SELECT   1,1  
  UNION   SELECT   2,2  
  UNION   SELECT   3,3  
  UNION   SELECT   4,4  
  UNION   SELECT   5,5  
  UNION   SELECT   6,6  
  UNION   SELECT   7,7  
  UNION   SELECT   0,0  
  UNION   SELECT   1,8  
  UNION   SELECT   2,9  
  --ID字段最大值为7的原因是,8*16=128分钟超出二小时了。  
  SELECT   CONVERT(VARCHAR(10),DATEADD(mi,a.id*16+b.id,'2005-6-1   19:00:00'),8)   FROM   @c   a  
  INNER   JOIN   @c   b   ON   a.c=LEFT(@s,1)   and   b.c=RIGHT(@s,1)  
   
  方法2  
  SELECT   TOP   120   IDENTITY(int)   ID   INTO   #t   FROM   sysobjects,syscolumns  
  SELECT   TOP   1   CONVERT(VARCHAR(10),DATEADD(mi,ID,'2000-1-1   19:00:00'),8)   FROM   #t   ORDER   BY   NEWID()  
  DROP   TABLE   #t  
   
  各有优缺点,这里就不说了。Top

4 楼bugchen888(臭虫)回复于 2006-07-03 13:11:52 得分 5

select   str(7+abs(checksum(newid())%2),1)+':'+replace(str(abs(checksum(newid())%60),2),'   ','0')Top

5 楼fcuandy(了此残生.)回复于 2006-07-03 13:14:34 得分 0

楼上的方法强,学习中。Top

6 楼ldw701(★水若寒★)回复于 2006-07-03 13:35:34 得分 0

markTop

7 楼sublx()回复于 2006-07-03 14:12:57 得分 0

先试一下再给分~~Top

8 楼sublx()回复于 2006-07-03 14:40:45 得分 0

谁能给小弟通俗的说一下checksum的用法...看SQL的连机帮助都不太明白...没用过这个函数..汗一下自己...Top

9 楼LouisXIV(夜游神)回复于 2006-07-03 15:11:39 得分 0

这里只是把一个随机获得的NewID()变成一个整数而已,  
   
  已经背离本来的用法,了解一下就可以了Top

相关问题

关键词

得分解答快速导航

  • 帖主:sublx
  • LouisXIV
  • fcuandy
  • bugchen888

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo