首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

付出一个数,随机到一个月的某些天

2013-03-19 
给出一个数,随机到一个月的某些天比如我是2012年12月的值: 162我要随机到2012-12-01 至2012-12-30 但不能

给出一个数,随机到一个月的某些天
比如我是2012年12月的值: 162
我要随机到2012-12-01 至2012-12-30 
但不能包含其中的有些日期比如:2012-12-05、2012-12-14
随机的日期里面值为:8
如果不足把剩余的放在一个单独的单元格
 

最好不要用循环,执行一次就可以了



[解决办法]
写一个函数判断
[解决办法]

DECLARE @Dt VARCHAR(8)
SET @Dt='201212'
;WITH Cte
AS
(
SELECT CAST(@Dt+'01' AS DATEtime) AS dd 
UNION ALL
SELECT dd+1 FROM Cte WHERE dd<DATEADD(mm,1,@Dt+'01')-1
)
SELECT  TOP 8 * FROM Cte AS a
 --WHERE EXISTS(SELECT 1 FROM [排除日期表] WHERE [排除日期]=a.dd) 
 ORDER BY NEWID()

条件里自定义排除日期,随机取8天

热点排行