加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer查询指定日期

发布时间:2020-12-12 13:31:34 所属栏目:MsSql教程 来源:网络整理
导读:一、取指定范围的数字 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 dec

一、取指定范围的数字

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)))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读