微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer查询指定日期

一、取指定范围的数字

create view myview

as

select re=rand()


--自定义函数:取得指定范围的随机

create function mydata

(

   @a int,

   @b int

)

returns decimal(38,0)

as

begin

   declare @r decimal(38,0)

   select @r=cast(re*(@b-@a)+@a as decimal(38,0)) from myview

   return(@r)

end

go


--调用(可以随意指定你要的数据范围)

select user_no,dbo.mydata(1000,9999) number from table1


--可以在你原来的查询基础上增加一列number,如不增加列,

--那就把上面的结果放入一个临时表 #a,然后update

--如:

update table1 set number1=a.number from #a a,table1 b where a.user_no=b.user_no



二、产生日期区间随机日期==

select cast(dbo.mydata(1993,1985) as nvarchar(4))+'-'+cast(dbo.mydata(12,1) as nvarchar(2))+'-'+cast(dbo.mydata(30,1) as nvarchar(2))


select dateadd(dd,datediff(dd,'2010-05-01','2012-06-30')*RAND(),'2010-05-01')

--2010-05-01 换为起始日期

--2012-06-30 换为结束日期



三、查询指定日期

--这个月第一天是哪一天

Select DATEADD(mm,DATEDIFF(mm,getdate()),0)


--本周星期一是哪一天

Select DATEADD(wk,DATEDIFF(wk,0)


--一年中的第一天

Select DATEADD(yy,DATEDIFF(yy,0)


--季度中的第一天

Select DATEADD(qq,DATEDIFF(qq,0)


--当天的半夜

Select DATEADD(dd,DATEDIFF(dd,0)


--取上个星期天

select DATEADD(WEEK,DATEDIFF(WEEK,-8)


--上个月的最后一天

select dateadd(dd,-1,DATEADD(mm,0))


--这个月最后一天

Select DATEADD(dd,-day(getdate()),1,DATEADD(DD,0)))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐