SQLServer 随机生成指定范围的日期

一个分页的问题,DTCms3.0中,分页是根据时间分页的,如果当添加时间(add_time)都是同一个数值时,不管点击第几页,显示的数据都是同一个的内容,于是就有了需要把同一个时间改指定随机日期的功能。

原贴脚本转至http://bbs.csdn.net/topics/340165720 第7楼的feilniu同学.

SQL脚本如下:

DECLARE @BDate datetime, @EDate datetime
SET @BDate = ‘20150701‘          --下限
SET @EDate = ‘20150714 23:59:59‘ --上限
SELECT id, random_datetime = DATEADD(second,ABS(CHECKSUM(NEWID()))%DATEDIFF(second,@BDate,@Edate),@BDate)
FROM dbo.dt_article
WHERE id BETWEEN 1 AND 100

生成的内容为:

id random_datetime

3 2015-07-05 07:55:10.000

4 2015-07-08 06:15:06.000

9 2015-07-12 19:14:24.000

10 2015-07-11 20:13:05.000

12 2015-07-06 19:09:12.000

13 2015-07-09 10:28:59.000

14 2015-07-03 07:18:42.000

15 2015-07-06 09:46:29.000

此时的ID是对应dt_article表中的ID。

然后我们可以先把生成的数据写到临时表中,然后关联更新!

时间: 2024-08-12 05:29:05

SQLServer 随机生成指定范围的日期的相关文章

随机生成指定长度的密码之---Random

随机生成指定长度的密码思路: 1.密码中可能包含字母,数字,特殊符号,为了区别分别定义常量 2.随机生成密码,自然想到要用到java.util.Random 类 3.定义一个带两个参数的方法,1跟2,分别指定密码内容类型和密码长度 具体实现过程: import java.util.Random;/** * @author * @date 创建时间: * @version 1.0 * @parameter * @since * @return */public class RandomChar {

随机生成指定位数的验证码

import randomimport string # 方法一:def code_1(m, choice): code=''.join(random.sample(choice, m)) return code print(code_1(4, string.ascii_letters + string.digits)) # 方法二:def code_2(n): code='' for i in range(n): number=random.randint(0, 9) # 0-9 lower_

随机生成指定范围内的随机数,放在指定长度的数组内

在群里遇到有人提出一道题:1.创建一个长度为5的空数组arr. 2.生成一个[2,32]之间的随机整数rand. 3.把随机整数插入到arr内,如果arr内已存在与rand相同的数,则重新生成随机整数并插入(需要使用递归实现,不能使用for/while等循环). 4.最后输出一个长度为5,且内容不重复的数组arr. 首先:生成指定范围的随机整数的公式: Math.floor(Math.random()*(max-min+1)+min); 之后看完整的方法: var arr = new Array

Python随机生成指定长度字符串并保存到mysql中

网上看到一个python练习题,要随机生成8位数的优惠券,并希望能保存到mysql数据库中.自己查资料写了下面的一段代码完成这个小作业 #!/usr/bin/env python # -*- coding: utf-8 -*- #author qingmiao import MySQLdb as mdb import sys import random,string def random_code(code_length,code_long):     i=1     result = []  

4.java随机生成指定长度的字符串

//生成随机数字和字母, public static String getStringRandom(int length) { String val = ""; Random random = new Random(); //参数length,表示生成几位随机数 for(int i = 0; i < length; i++) { String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num

PHP随机生成指定时间段的指定个数时间

/** * 生成某个范围内的随机时间 * @param <type> $begintime 起始时间 格式为 Y-m-d H:i:s * @param <type> $endtime 结束时间 格式为 Y-m-d H:i:s * @param <type> $now 是否是时间戳 格式为 Boolean */ function randomDate($begintime, $endtime="", $now = true) { $begin = st

随机生成指定长度的数字+字符的密码

/// <summary> /// 生成随机数的种子 /// </summary> /// <returns></returns> private static int getNewSeed() { byte[] rndBytes = new byte[4]; System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryp

生成指定时间内的日期

for (var i = 1; i <= 30; i++) { db.wechatAttention.save({_class:"la.xiaoxiao.manager.wechat.entity.WechatAttentionEntity",ghId:"gh_"+ObjectId().valueOf(),openId:ObjectId().valueOf(),createDate:new Date(new Date()- Math.ceil(Math.ran

java随机生成指定的位数

/** * 获取count个随机数 * @param count 随机数个数 * @return */ public static String game(int count){ StringBuffer sb = new StringBuffer(); String str = "0123456789"; Random r = new Random(); for(int i=0;i<count;i++){ int num = r.nextInt(str.length()); s