MW211 EXIT

devlog
MSSQL/日付変換
2015年03月06日
「日付」と「年・月・日」の変換は以下の通り。
┌──────────────────────────────────────┐
│日付 ← DATEFROMPARTS(年, 月, 日)                                           │
├──────────────────────────────────────┤
│年   ← DATEPART(YEAR, 日付)                                                │
│月   ← DATEPART(MONTH, 日付)                                               │
│日   ← DATEADD(DAY, 日付)                                                  │
└──────────────────────────────────────┘

「日付」を「週(年内週)」(その年の何週目か)に変換するのは以下の通り。
┌──────────────────────────────────────┐
│年内週 ← DATEPART(WEEK, 日付)                                              │
└──────────────────────────────────────┘

その逆(週から週の範囲を求める方法)は以下の通り。
┌──────────────────────────────────────┐
│週頭日付 ← DATEADD(DAY, 1 - DATEPART(WEEKDAY, 日付), 日付)                 │
│週末日付 ← DATEADD(DAY, 6, 週頭日付)                                       │
└──────────────────────────────────────┘

週の範囲がわかれば、「月内週」(その月の月週目か)がわかる。
┌──────────────────────────────────────┐
│年     ← DATEPART(YEAR, 日付)                                              │
│月     ← DATEPART(MONTH, 日付)                                             │
│月内週 ← DATEPART(WEEK, 日付)                                              │
│        - DATEPART(WEEK, DATEFROMPARTS(DATEPART(YEAR, 日付),                │
│                                       DATEPART(MONTH, 日付),               │
│                                       1))                                  │
│        + 1                                                                 │
├──────────────────────────────────────┤
│年     ← DATEPART(YEAR, 週頭日付)                                          │
│月     ← DATEPART(MONTH, 週頭日付)                                         │
│月内週 ← DATEPART(WEEK, 週頭日付)                                          │
│        - DATEPART(WEEK, DATEFROMPARTS(DATEPART(YEAR, 週頭日付),            │
│                                       DATEPART(MONTH, 週頭日付),           │
│                                       1))                                  │
│        + 1                                                                 │
└──────────────────────────────────────┘
分類:MSSQL