处理时间_5_计算时间列所在年的周序号
生活随笔
收集整理的這篇文章主要介紹了
处理时间_5_计算时间列所在年的周序号
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ? 計(jì)算時(shí)間列所在年的周序號(hào)
?
需求描述
需求:對(duì)EMP表里員工KING和SMITH的hiredate入職時(shí)間差,基于生成的日期算每天所在的周,相對(duì)于年.
解決方法:通過(guò)DATE_FORMAT函數(shù)來(lái)完成.
注: 數(shù)據(jù)庫(kù)數(shù)據(jù)集SQL腳本詳見(jiàn)如下鏈接地址
員工表結(jié)構(gòu)和數(shù)據(jù)初始化SQL腳本
SQL代碼
-- Mysql: SELECT B.ename b_Ename,B.HIREDATE b_hiredate,A.ename a_Ename, A.HIREDATE a_hiredate ,DATE_ADD(A.hiredate,INTERVAL pos DAY) date_Seq ,DATE_FORMAT(DATE_ADD(A.hiredate,INTERVAL pos DAY),'%U') AS weekno_Year FROM emp A,emp B,(SELECT i-1 AS pos FROM tb_incr) seq WHERE A.ename = 'SMITH' AND B.ename = 'KING' AND seq.pos <=DATEDIFF(B.HIREDATE,A.HIREDATE)注:mysql里也可以通過(guò)yearweek函數(shù)來(lái)實(shí)現(xiàn)
-- mysql SELECT YEARWEEK(now()) 'yearWeek', SUBSTRING(YEARWEEK(now()),1,4)'year', SUBSTRING(YEARWEEK(now()),5,2) 'weekOfyear'?
執(zhí)行結(jié)果
-- SQL Server SELECT B.ename b_Ename,B.HIREDATE b_hiredate,A.ename a_Ename, A.HIREDATE a_hiredate ,DATEADD(DAY,seq.pos,A.HIREDATE) AS date_Seq ,DATEPART(WK,DATEADD(DAY,seq.pos,A.HIREDATE)) AS weekno_Year FROM emp A,emp B,(SELECT number AS pos FROM master.[dbo].[spt_values] WHERE type = 'P') seq WHERE A.ename = 'SMITH' AND B.ename = 'KING' AND seq.pos <= DATEDIFF(DAY,A.HIREDATE,B.HIREDATE)?
總結(jié)
以上是生活随笔為你收集整理的处理时间_5_计算时间列所在年的周序号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 敢入刀山火海的陆军特种部队
- 下一篇: 线性代数之矩阵偏导