mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-19 06:50:50 +00:00
86 lines
3.9 KiB
Markdown
86 lines
3.9 KiB
Markdown
---
|
||
machine_translated: true
|
||
machine_translated_rev: d734a8e46ddd7465886ba4133bff743c55190626
|
||
toc_priority: 61
|
||
toc_title: "\u0641\u0627\u0635\u0644\u0647"
|
||
---
|
||
|
||
# فاصله {#data-type-interval}
|
||
|
||
خانواده از انواع داده ها به نمایندگی از فواصل زمان و تاریخ. انواع حاصل از [INTERVAL](../../../sql_reference/operators.md#operator-interval) اپراتور
|
||
|
||
!!! warning "اخطار"
|
||
`Interval` مقادیر نوع داده را نمی توان در جداول ذخیره کرد.
|
||
|
||
ساختار:
|
||
|
||
- فاصله زمانی به عنوان یک مقدار عدد صحیح بدون علامت.
|
||
- نوع یک بازه ی زمانی.
|
||
|
||
انواع فاصله پشتیبانی شده:
|
||
|
||
- `SECOND`
|
||
- `MINUTE`
|
||
- `HOUR`
|
||
- `DAY`
|
||
- `WEEK`
|
||
- `MONTH`
|
||
- `QUARTER`
|
||
- `YEAR`
|
||
|
||
برای هر نوع فاصله, یک نوع داده جداگانه وجود دارد. برای مثال `DAY` فاصله مربوط به `IntervalDay` نوع داده:
|
||
|
||
``` sql
|
||
SELECT toTypeName(INTERVAL 4 DAY)
|
||
```
|
||
|
||
``` text
|
||
┌─toTypeName(toIntervalDay(4))─┐
|
||
│ IntervalDay │
|
||
└──────────────────────────────┘
|
||
```
|
||
|
||
## اظهارات طریقه استفاده {#data-type-interval-usage-remarks}
|
||
|
||
شما می توانید استفاده کنید `Interval`- ارزش نوع در عملیات ریاضی با [تاریخ](../../../sql_reference/data_types/date.md) و [DateTime](../../../sql_reference/data_types/datetime.md)- ارزش نوع . مثلا, شما می توانید اضافه کنید 4 روز به زمان فعلی:
|
||
|
||
``` sql
|
||
SELECT now() as current_date_time, current_date_time + INTERVAL 4 DAY
|
||
```
|
||
|
||
``` text
|
||
┌───current_date_time─┬─plus(now(), toIntervalDay(4))─┐
|
||
│ 2019-10-23 10:58:45 │ 2019-10-27 10:58:45 │
|
||
└─────────────────────┴───────────────────────────────┘
|
||
```
|
||
|
||
فواصل با انواع مختلف نمی تواند ترکیب شود. شما می توانید فواصل مانند استفاده کنید `4 DAY 1 HOUR`. تعیین فواصل در واحد هایی که کوچکتر یا مساوی به کوچکترین واحد از فاصله مثلا فاصله `1 day and an hour` فاصله را می توان به عنوان بیان شده است `25 HOUR` یا `90000 SECOND`.
|
||
|
||
شما می توانید عملیات ریاضی با انجام نمی `Interval`- ارزش نوع, اما شما می توانید فواصل از انواع مختلف در نتیجه به ارزش در اضافه `Date` یا `DateTime` انواع داده ها. به عنوان مثال:
|
||
|
||
``` sql
|
||
SELECT now() AS current_date_time, current_date_time + INTERVAL 4 DAY + INTERVAL 3 HOUR
|
||
```
|
||
|
||
``` text
|
||
┌───current_date_time─┬─plus(plus(now(), toIntervalDay(4)), toIntervalHour(3))─┐
|
||
│ 2019-10-23 11:16:28 │ 2019-10-27 14:16:28 │
|
||
└─────────────────────┴────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
پرس و جوی زیر باعث می شود یک استثنا:
|
||
|
||
``` sql
|
||
select now() AS current_date_time, current_date_time + (INTERVAL 4 DAY + INTERVAL 3 HOUR)
|
||
```
|
||
|
||
``` text
|
||
Received exception from server (version 19.14.1):
|
||
Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Wrong argument types for function plus: if one argument is Interval, then another must be Date or DateTime..
|
||
```
|
||
|
||
## همچنین نگاه کنید به {#see-also}
|
||
|
||
- [INTERVAL](../../../sql_reference/operators.md#operator-interval) اپراتور
|
||
- [توینتروال](../../../sql_reference/functions/type_conversion_functions.md#function-tointerval) توابع تبدیل نوع
|