欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

sql取當(dāng)前周的函數(shù)

系統(tǒng) 1698 0

我工作遇到這么一個情況:
算當(dāng)前周的課程,有兩種方法一種是用sql自帶的函數(shù)datediff(select * from Table8 where datediff(wk,COLUMN8,getdate())=0)
另一種是在c#后臺代碼中直接寫然后傳參。我想問一下這兩種方法哪一種更好,速度更快。


分析:
看你想把壓力給誰
數(shù)據(jù)量不大的話,還是sql會好一些

?

感悟:

以前都是在后臺去算,今天想了想,又查了查。發(fā)現(xiàn)在sql里就可以實(shí)現(xiàn)。看來我的sql基礎(chǔ)實(shí)在是太薄弱了。這讓我再一次意識到自己還有許多需要學(xué)習(xí)的。

?

下面程序前輩寫的sql取當(dāng)周時間的詳細(xì)做法:

如何用sql獲取當(dāng)前周的7個時間 ???

?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 --按日?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 select?sum(consume),day([date])?from?consume_record?where?year([date])?=?'2006'?group?by?day([date])?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 --按周quarter?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 select?sum(consume),datename(week,[date])?from?consume_record?where?year([date])?=?'2006'?group?by?datename(week,[date])?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 --按月?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 select?sum(consume),month([date])?from?consume_record?where?year([date])?=?'2006'?group?by?month([date])?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 --按季?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 select?sum(consume),datename(quarter,[date])?from?consume_record?where?year([date])?=?'2006'?group?by?datename(quarter,[date])?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 ?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 --指定日期你就看上面的例子變通下呀,無非就是一個聚合函數(shù)和Group?by?
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客
如何用sql獲取當(dāng)前周的7個時間 - 轉(zhuǎn)角空 - zhuanjiaokong的博客 select?[date],sum(consume)?from?consume_record?where?[date]?between?'2006-06-01'?and?'2006-07-10'?group?by?[date]??

查詢當(dāng)前周:
select?*?from?table
where?datediff(wk,startdate,getdate())=0

查詢下一周(也就是當(dāng)前周的下一周):
select?*?from?table
where?datediff(wk,startdate,getdate())=-1

查詢上一周(也就是當(dāng)前周的上一周):
select?*?from?table
where?datediff(wk,startdate,getdate())=1
///////////////////////////////////////////

declare?@today?datetime
select?@today?=?convert(varchar(10),?getdate(),?20)
declare?@weekday?int?
select?@weekday?=?datepart(weekday,?@today)
declare?@st?datetime,?@et?datetime?
select?@st?=?dateadd(dd,?1-@weekday,?@today),?@et?=?dateadd(dd,?7-@weekday,?@today)
select?*?from?table
where?startdate?between?@st?and?@et
當(dāng)然,這里的開始時間、結(jié)束時間跟你sql?server的設(shè)置有關(guān),即你的周是從周一開始還是從周日開始。

DECLARE?@dt?datetime
SET?@dt=GETDATE()
DECLARE?@number?int
SET?@number=3
--1.指定日期該年的第一天或最后一天
--A.?年的第一天
SELECT?CONVERT(char(5),@dt,120)+'1-1'
--B.?年的最后一天
SELECT?CONVERT(char(5),@dt,120)+'12-31'

--2.指定日期所在季度的第一天或最后一天
--A.?季度的第一天
SELECT?CONVERT(datetime,
????CONVERT(char(8),
????????DATEADD(Month,
????????????DATEPART(Quarter,@dt)*3-Month(@dt)-2,
????????????@dt),
????????120)+'1')
--B.?季度的最后一天(CASE判斷法)
SELECT?CONVERT(datetime,
????CONVERT(char(8),
????????DATEADD(Month,
????????????DATEPART(Quarter,@dt)*3-Month(@dt),
????????????@dt),
????????120)
????+CASE?WHEN?DATEPART(Quarter,@dt)?in(1,4)
????????THEN?'31'ELSE?'30'?END)
--C.?季度的最后一天(直接推算法)
SELECT?DATEADD(Day,-1,
????CONVERT(char(8),
????????DATEADD(Month,
????????????1+DATEPART(Quarter,@dt)*3-Month(@dt),
????????????@dt),
????????120)+'1')

--3.指定日期所在月份的第一天或最后一天
--A.?月的第一天
SELECT?CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')
--B.?月的最后一天
SELECT?DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')
--C.?月的最后一天(容易使用的錯誤方法)
SELECT?DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))

--4.指定日期所在周的任意一天
SELECT?DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)

--5.指定日期所在周的任意星期幾
--A.??星期天做為一周的第1天
SELECT?DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-1)%7,@dt)
--B.??星期一做為一周的第1天
SELECT?DATEADD(Day,@number-(DATEPART(Weekday,@dt)+@@DATEFIRST-2)%7-1,@dt)
??
具體例子:?
SELECT?CONVERT(varchar(100),?GETDATE(),?0)union--:?05?16?2006?10:57AM?
SELECT?CONVERT(varchar(100),?GETDATE(),?1)union--:?05/16/06?
SELECT?CONVERT(varchar(100),?GETDATE(),?2)union--:?06.05.16?
SELECT?CONVERT(varchar(100),?GETDATE(),?3)union--:?16/05/06?
SELECT?CONVERT(varchar(100),?GETDATE(),?4)union--:?16.05.06?
SELECT?CONVERT(varchar(100),?GETDATE(),?5)union--:?16-05-06?
SELECT?CONVERT(varchar(100),?GETDATE(),?6)union--:?16?05?06?
SELECT?CONVERT(varchar(100),?GETDATE(),?7)union--:?05?16,?06?
SELECT?CONVERT(varchar(100),?GETDATE(),?8)union--:?10:57:46?
SELECT?CONVERT(varchar(100),?GETDATE(),?9)union--:?05?16?2006?10:57:46:827AM?
SELECT?CONVERT(varchar(100),?GETDATE(),?10)union--:?05-16-06?
SELECT?CONVERT(varchar(100),?GETDATE(),?11)union--:?06/05/16?
SELECT?CONVERT(varchar(100),?GETDATE(),?12)union--:?060516?
SELECT?CONVERT(varchar(100),?GETDATE(),?13)union--:?16?05?2006?10:57:46:937?
SELECT?CONVERT(varchar(100),?GETDATE(),?14)union--:?10:57:46:967?
SELECT?CONVERT(varchar(100),?GETDATE(),?20)union--:?2006-05-16?10:57:47?
SELECT?CONVERT(varchar(100),?GETDATE(),?21)union--:?2006-05-16?10:57:47.157?
SELECT?CONVERT(varchar(100),?GETDATE(),?22)union--:?05/16/06?10:57:47?AM?
SELECT?CONVERT(varchar(100),?GETDATE(),?23)union--:?2006-05-16?
SELECT?CONVERT(varchar(100),?GETDATE(),?24)union---:?10:57:47?
SELECT?CONVERT(varchar(100),?GETDATE(),?25)union--:?2006-05-16?10:57:47.250?
SELECT?CONVERT(varchar(100),?GETDATE(),?101)union--:?05/16/2006?
SELECT?CONVERT(varchar(100),?GETDATE(),?102)union--:?2006.05.16?
SELECT?CONVERT(varchar(100),?GETDATE(),?103)union--:?16/05/2006?
SELECT?CONVERT(varchar(100),?GETDATE(),?104)union---:?16.05.2006?
SELECT?CONVERT(varchar(100),?GETDATE(),?105)union--:?16-05-2006?
SELECT?CONVERT(varchar(100),?GETDATE(),?106)union--:?16?05?2006?
SELECT?CONVERT(varchar(100),?GETDATE(),?107)union---:?05?16,?2006?
SELECT?CONVERT(varchar(100),?GETDATE(),?108)union--:?10:57:49?
SELECT?CONVERT(varchar(100),?GETDATE(),?109)union--:?05?16?2006?10:57:49:437AM?
SELECT?CONVERT(varchar(100),?GETDATE(),?110)union--:?05-16-2006?
SELECT?CONVERT(varchar(100),?GETDATE(),?111)union--:?2006/05/16?
SELECT?CONVERT(varchar(100),?GETDATE(),?112)union--:?20060516?
SELECT?CONVERT(varchar(100),?GETDATE(),?113)union--:?16?05?2006?10:57:49:513?
SELECT?CONVERT(varchar(100),?GETDATE(),?114)union--:?10:57:49:547?
SELECT?CONVERT(varchar(100),?GETDATE(),?120)union--:?2006-05-16?10:57:49?
SELECT?CONVERT(varchar(100),?GETDATE(),?121)union--:?2006-05-16?10:57:49.700?
SELECT?CONVERT(varchar(100),?GETDATE(),?126)union--:?2006-05-16T10:57:49.827?
SELECT?CONVERT(varchar(100),?GETDATE(),?130)union--:?18?????????????1427?10:57:49:907AM?
SELECT?CONVERT(varchar(100),?GETDATE(),?131)--:?18/04/1427?10:57:49:920AM?

?

sql取當(dāng)前周的函數(shù)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美在线视频一区 | 日本三级一区二区 | 五月天激激婷婷大综合丁香 | 一区二区三区在线 | 国产精品色| 久草新视频 | 国产成人综合在线观看网站 | 97国产精品人妻无码久久久 | 久福利 | 精品亚洲一区二区三区四区五区 | 精品啪啪 | 日韩a视频 | 羞羞色院91蜜桃在线观看 | 日韩高清一区二区 | 热伊人99re久久精品最新地 | 久久一日本道色综合久久 | 亚洲国产片高清在线观看 | 黄色视频a级毛片 | 久久精品小视频 | 久操热久操| 天天射天天干 | 国产成人在线免费视频 | 亚洲成人一区二区三区 | 91亚洲国产成人久久精品网站 | 黄色一级片视频 | 日本免费一级视频 | 日韩视频二区 | 国产瑟瑟视频 | 天干夜天天夜天干天 | 色老头xxxwww作爱视频 | 青青99| 精品视频 九九九 | 久久国产一区 | 五月六月婷婷 | 日韩在线国产精品 | 国内外成人免费视频 | 无码AV免费一区二区三区A片 | 国产性色视频在线高清 | 成人a视频片在线观看免费 中文字幕三区 | 欧美一级α片毛片免费观看 | 亚洲综合国产精品 |