|
| 1 | +--- |
| 2 | +title: TRUNC |
| 3 | +--- |
| 4 | +import FunctionDescription from '@site/src/components/FunctionDescription'; |
| 5 | + |
| 6 | +<FunctionDescription description="ๅผๅ
ฅ็ๆฌ: v1.2.745"/> |
| 7 | + |
| 8 | +ๅฐๆฅๆๆๆถ้ดๆณๆชๆญๅฐๆๅฎ็ฒพๅบฆใๆญคๅฝๆฐ้ตๅพชๅนฟๆณ้็จ็ๆฅๆๆชๆญ่ฏญๆณ๏ผไพฟไบไปๅ
ถไปๆฐๆฎๅบ็ณป็ป่ฟ็งป็็จๆทไฝฟ็จใ |
| 9 | + |
| 10 | +## ่ฏญๆณ |
| 11 | + |
| 12 | +```sql |
| 13 | +TRUNC(<date_or_timestamp>, <datetime_interval_type>) |
| 14 | +``` |
| 15 | + |
| 16 | +| ๅๆฐ | ๆ่ฟฐ | |
| 17 | +|----------------------------|----------------------------------------------------------------------------------------------------| |
| 18 | +| `<date_or_timestamp>` | `DATE` ๆ `TIMESTAMP` ็ฑปๅ็ๅผใ | |
| 19 | +| `<datetime_interval_type>` | ๅฟ
้กปๆฏไปฅไธๅผไนไธ: `YEAR`ใ`QUARTER`ใ`MONTH`ใ`WEEK`ใ`DAY`ใ`HOUR`ใ`MINUTE`ใ`SECOND`ใ | |
| 20 | + |
| 21 | +## ๅจๅผๅง้
็ฝฎ |
| 22 | + |
| 23 | +ๅฝไฝฟ็จ `WEEK` ไฝไธบๆฅๆๆถ้ด้ด้็ฑปๅๆถ๏ผ็ปๆๅๅณไบ `week_start` ่ฎพ็ฝฎ๏ผ่ฏฅ่ฎพ็ฝฎๅฎไนไบไธๅจ็็ฌฌไธๅคฉ: |
| 24 | + |
| 25 | +- `week_start = 1` (้ป่ฎค): ๅจไธ่ขซ่งไธบไธๅจ็็ฌฌไธๅคฉ |
| 26 | +- `week_start = 0`: ๅจๆฅ่ขซ่งไธบไธๅจ็็ฌฌไธๅคฉ |
| 27 | + |
| 28 | +ๆจๅฏไปฅไฝฟ็จ `SETTINGS` ๅญๅฅไธบ็นๅฎๆฅ่ฏขๆดๆนๆญค่ฎพ็ฝฎ: |
| 29 | + |
| 30 | +```sql |
| 31 | +-- ่ฎพ็ฝฎๅจๆฅไธบไธๅจ็็ฌฌไธๅคฉ |
| 32 | +SETTINGS (week_start = 0) SELECT TRUNC(to_date('2024-04-05'), 'WEEK'); |
| 33 | + |
| 34 | +-- ่ฎพ็ฝฎๅจไธไธบไธๅจ็็ฌฌไธๅคฉ (้ป่ฎค) |
| 35 | +SETTINGS (week_start = 1) SELECT TRUNC(to_date('2024-04-05'), 'WEEK'); |
| 36 | +``` |
| 37 | + |
| 38 | +## ่ฟๅ็ฑปๅ |
| 39 | + |
| 40 | +ไธ `<date_or_timestamp>` ็ธๅใ |
| 41 | + |
| 42 | +## ็คบไพ |
| 43 | + |
| 44 | +```sql |
| 45 | +-- ๆชๆญๅฐไธๅ็ฒพๅบฆ |
| 46 | +SELECT |
| 47 | + TRUNC(to_date('2022-07-07'), 'MONTH'), |
| 48 | + TRUNC(to_date('2022-07-07'), 'WEEK'), |
| 49 | + TRUNC(to_date('2022-07-07'), 'YEAR'); |
| 50 | + |
| 51 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 52 | +โ TRUNC(to_date('2022-07-07'), 'MONTH') โ TRUNC(to_date('2022-07-07'), 'WEEK') โ TRUNC(to_date('2022-07-07'), 'YEAR') โ |
| 53 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค |
| 54 | +โ 2022-07-01 โ 2022-07-04 โ 2022-01-01 โ |
| 55 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 56 | +``` |
| 57 | + |
| 58 | +ไปฅไธ็คบไพๆผ็คบไบ `week_start` ่ฎพ็ฝฎๅฆไฝๅฝฑๅไฝฟ็จ `WEEK` ็ฒพๅบฆ็ `TRUNC` ็ปๆ: |
| 59 | + |
| 60 | +```sql |
| 61 | +-- ้ป่ฎค: week_start = 1 (ๅจไธไธบไธๅจ็ฌฌไธๅคฉ) |
| 62 | +SELECT TRUNC(to_date('2024-04-03'), 'WEEK'); -- ๅจไธ |
| 63 | + |
| 64 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 65 | +โ TRUNC(to_date('2024-04-03'), 'WEEK') โ |
| 66 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค |
| 67 | +โ 2024-04-01 โ -- ๅจไธ |
| 68 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 69 | + |
| 70 | +-- ่ฎพ็ฝฎ week_start = 0 (ๅจๆฅไธบไธๅจ็ฌฌไธๅคฉ) |
| 71 | +SETTINGS (week_start = 0) SELECT TRUNC(to_date('2024-04-03'), 'WEEK'); -- ๅจไธ |
| 72 | + |
| 73 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 74 | +โ TRUNC(to_date('2024-04-03'), 'WEEK') โ |
| 75 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค |
| 76 | +โ 2024-03-31 โ -- ๅจๆฅ |
| 77 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 78 | +``` |
| 79 | + |
| 80 | +ๅฏนๆถ้ดๆณๅผไฝฟ็จ `TRUNC`: |
| 81 | + |
| 82 | +```sql |
| 83 | +SELECT TRUNC(to_timestamp('2022-07-07 15:30:45.123456'), 'DAY'); |
| 84 | + |
| 85 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 86 | +โ TRUNC(to_timestamp('2022-07-07 15:30:45.123456'), 'DAY') โ |
| 87 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค |
| 88 | +โ 2022-07-07 00:00:00.000000 โ |
| 89 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 90 | +``` |
0 commit comments