处理时间_5_计算时间列所在年的周序号
生活随笔
收集整理的這篇文章主要介紹了
处理时间_5_计算时间列所在年的周序号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ? 計算時間列所在年的周序號
?
需求描述
需求:對EMP表里員工KING和SMITH的hiredate入職時間差,基于生成的日期算每天所在的周,相對于年.
解決方法:通過DATE_FORMAT函數來完成.
注: 數據庫數據集SQL腳本詳見如下鏈接地址
員工表結構和數據初始化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里也可以通過yearweek函數來實現
-- mysql SELECT YEARWEEK(now()) 'yearWeek', SUBSTRING(YEARWEEK(now()),1,4)'year', SUBSTRING(YEARWEEK(now()),5,2) 'weekOfyear'?
執行結果
-- 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)?
總結
以上是生活随笔為你收集整理的处理时间_5_计算时间列所在年的周序号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 敢入刀山火海的陆军特种部队
- 下一篇: 动能反卫星常规导弹