문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
기술문서:레퍼런스:쿼리:응용:calendar_query [2025/11/27 11:48] carlito76 |
기술문서:레퍼런스:쿼리:응용:calendar_query [2026/06/19 17:13] (현재) carlito76 |
||
|---|---|---|---|
| 줄 7: | 줄 7: | ||
| <note tip> | <note tip> | ||
| - | 최소 지원 버전은 약간의 차이가 있을 수 있습니다. | + | 최소 지원 버전은 약간의 차이가 있을 수 있습니다.\\ |
| + | - MySQL/ | ||
| + | - MSSQL, Oracle/ | ||
| </ | </ | ||
| 줄 16: | 줄 18: | ||
| */ | */ | ||
| SELECT | SELECT | ||
| - | MIN(CASE WHEN week = 1 THEN dt END) AS sun | + | MAX(CASE WHEN week = 1 THEN dt END) AS sun |
| - | , MIN(CASE WHEN week = 2 THEN dt END) AS mon | + | , MAX(CASE WHEN week = 2 THEN dt END) AS mon |
| - | , MIN(CASE WHEN week = 3 THEN dt END) AS tue | + | , MAX(CASE WHEN week = 3 THEN dt END) AS tue |
| - | , MIN(CASE WHEN week = 4 THEN dt END) AS wed | + | , MAX(CASE WHEN week = 4 THEN dt END) AS wed |
| - | , MIN(CASE WHEN week = 5 THEN dt END) AS thu | + | , MAX(CASE WHEN week = 5 THEN dt END) AS thu |
| - | , MIN(CASE WHEN week = 6 THEN dt END) AS fri | + | , MAX(CASE WHEN week = 6 THEN dt END) AS fri |
| - | , MIN(CASE WHEN week = 7 THEN dt END) AS sat | + | , MAX(CASE WHEN week = 7 THEN dt END) AS sat |
| FROM | FROM | ||
| (SELECT | (SELECT | ||
| 줄 32: | 줄 34: | ||
| (SELECT | (SELECT | ||
| DATE_ADD(a, | DATE_ADD(a, | ||
| + | , a | ||
| FROM | FROM | ||
| (SELECT | (SELECT | ||
| 줄 48: | 줄 51: | ||
| ) cal | ) cal | ||
| WHERE | WHERE | ||
| - | dt <= LAST_DAY(dt) | + | dt <= LAST_DAY(a) |
| ) cal | ) cal | ||
| GROUP BY | GROUP BY | ||
| 줄 63: | 줄 66: | ||
| */ | */ | ||
| SELECT | SELECT | ||
| - | MIN(CASE WHEN week = 1 THEN dt END) AS sun | + | MAX(CASE WHEN week = 1 THEN dt END) AS sun |
| - | , MIN(CASE WHEN week = 2 THEN dt END) AS mon | + | , MAX(CASE WHEN week = 2 THEN dt END) AS mon |
| - | , MIN(CASE WHEN week = 3 THEN dt END) AS tue | + | , MAX(CASE WHEN week = 3 THEN dt END) AS tue |
| - | , MIN(CASE WHEN week = 4 THEN dt END) AS wed | + | , MAX(CASE WHEN week = 4 THEN dt END) AS wed |
| - | , MIN(CASE WHEN week = 5 THEN dt END) AS thu | + | , MAX(CASE WHEN week = 5 THEN dt END) AS thu |
| - | , MIN(CASE WHEN week = 6 THEN dt END) AS fri | + | , MAX(CASE WHEN week = 6 THEN dt END) AS fri |
| - | , MIN(CASE WHEN week = 7 THEN dt END) AS sat | + | , MAX(CASE WHEN week = 7 THEN dt END) AS sat |
| FROM | FROM | ||
| (SELECT | (SELECT | ||
| 줄 105: | 줄 108: | ||
| */ | */ | ||
| SELECT | SELECT | ||
| - | MIN(DECODE(week, | + | MAX(DECODE(week, |
| - | , MIN(DECODE(week, | + | , MAX(DECODE(week, |
| - | , MIN(DECODE(week, | + | , MAX(DECODE(week, |
| - | , MIN(DECODE(week, | + | , MAX(DECODE(week, |
| - | , MIN(DECODE(week, | + | , MAX(DECODE(week, |
| - | , MIN(DECODE(week, | + | , MAX(DECODE(week, |
| - | , MIN(DECODE(week, | + | , MAX(DECODE(week, |
| FROM | FROM | ||
| (SELECT | (SELECT | ||
| 줄 121: | 줄 124: | ||
| (SELECT | (SELECT | ||
| TRUNC(SYSDATE, | TRUNC(SYSDATE, | ||
| - | -- TO_DATE(' | + | -- TO_DATE(' |
| FROM | FROM | ||
| DUAL) cal | DUAL) cal | ||
| 줄 140: | 줄 143: | ||
| */ | */ | ||
| SELECT | SELECT | ||
| - | MIN(CASE WHEN week = 0 THEN dt END) AS sun | + | MAX(CASE WHEN week = 0 THEN dt END) AS sun |
| - | , MIN(CASE WHEN week = 1 THEN dt END) AS mon | + | , MAX(CASE WHEN week = 1 THEN dt END) AS mon |
| - | , MIN(CASE WHEN week = 2 THEN dt END) AS tue | + | , MAX(CASE WHEN week = 2 THEN dt END) AS tue |
| - | , MIN(CASE WHEN week = 3 THEN dt END) AS wed | + | , MAX(CASE WHEN week = 3 THEN dt END) AS wed |
| - | , MIN(CASE WHEN week = 4 THEN dt END) AS thu | + | , MAX(CASE WHEN week = 4 THEN dt END) AS thu |
| - | , MIN(CASE WHEN week = 5 THEN dt END) AS fri | + | , MAX(CASE WHEN week = 5 THEN dt END) AS fri |
| - | , MIN(CASE WHEN week = 6 THEN dt END) AS sat | + | , MAX(CASE WHEN week = 6 THEN dt END) AS sat |
| FROM | FROM | ||
| (SELECT | (SELECT | ||