Conver到ISO每周的ISO日期

时间:2017-10-10 14:44:39

标签: sql sql-server date iso week-number

我几乎每个问题都搜索过但没有找到我需要的东西,所以这里就是:

我需要将'yyyyww'格式的日期(其中'ww'是一年中的iso周)转换为'yyyymm'(其中'mm'是一年中的月份)。

因此,例如,我将201725(即2017年,ISO第25周)的日期显示为201706,因为ISO第25周是在同一年的6月。

2 个答案:

答案 0 :(得分:1)

结合使用<div class="hdtb-mn-hd" aria-haspopup="true" role="button" tabindex="0" aria-label="Any country"><div class="mn-hd-txt">Any country</div><span class="mn-dwn-arw"></span></div> <div class="hdtb-mn-hd" aria-haspopup="true" role="button" tabindex="0" aria-label="Any time"><div class="mn-hd-txt">Any time</div><span class="mn-dwn-arw"></span></div> <div class="hdtb-mn-hd" aria-haspopup="true" role="button" tabindex="0" aria-label="All results"><div class="mn-hd-txt">All results</div><span class="mn-dwn-arw"></span></div>LEFT&amp; CONVERT功能。

DATEADD

输入

SELECT LEFT(CONVERT(varchar, DATEADD(week, yourfield % 100 - 1, DATEADD(year, yourfield / 100 - 1900, 0)),112),6)
FROM yourtable

输出

201722
201733
201725

SQL小提琴:http://sqlfiddle.com/#!6/00eaa/7/0

答案 1 :(得分:0)

这对于输出来说有点奇怪,因为你可以获得相同的值超过1周,但我会把它留给你来解决。

这将为所提供的输入生成所需的输出。

  Fatal error: Call to a member function getAttribute() on null