У овом одељку ћемо разумети рад Тип података ПостгреСКЛ Интервал, а такође видимо примери од Интервални тип података. И углавном се користи Интервал функције , на пример, НОВ(), ТО_ЦХАР(), ЕКСТРАЦТ(), јустифи_даис(), јустифи_хоурс(), јустифи_интервал(). Тхе Улаз и излаз формат за вредности ПостгреСКЛ интервала.
Шта је ПостгреСКЛ интервални тип података?
У ПостгреСКЛ-у, Интервал је још један тип типа података који се користи за складиштење и примену времена у године, месеци, дани, сати, минути, секунде, итд. И тхе месеци и дани вредности су вредности целих бројева , док је друго поље може бити вредности разломака.
Вредност типа података ПостгреСКЛ интервала укључује Складиштење од 16 бајтова величине, која помаже да се ускладиште период у прихватљивом опсегу од - 178000000 година до 178000000 године.
недостаци онлајн банкарства
Напомена: Број цифара разломка узетих у другом пољу познат је као прецизност п.
Синтакса типа података ПостгреСКЛ Интервал
Синтакса типа података ПостгреСКЛ Интервал је следећа:
@ interval [ fields ] [ (p) ]
У горњој синтакси имамо следеће параметре:
Параметар | Опис |
---|---|
поља | Параметар поља се користи за приказ времена. |
стр | П се користи за приказ вредности прецизности. |
@ | Можемо да занемаримо параметар @ јер је то опциони параметар. |
Хајде да видимо пример примера да бисмо боље разумели како можемо да запишемо вредности интервала са @ параметар и без @ параметра :
@interval '6 months before'; @interval '2 hours 30 minutes';
ИЛИ
interval '6 months before'; interval '2 hours 30 minutes';
Напомена: Можемо да користимо обе горе наведене изјаве пошто одговарају једна другој. Штавише, вредност интервала може имати изборну вредност прецизности п са дозвољеним опсегом који се покреће од 0 до 6.
Пример типа података ПостгреСКЛ Интервал
Хајде да видимо један пример примера да бисмо разумели како Тип података ПостгреСКЛ Интервал Извођење радова.
У примеру испод, покушаћемо да пронађемо време за 2 сата и 30 минута пре, ат тхе актуелно време прошле године ; користићемо следеће команде:
SELECT now(), now() - INTERVAL '6 months 2 hours 30 minutes' AS '2 hours 30 minutes before last year';
Излаз
Након извршења горње команде, добићемо доњи излаз, који се приказује 2 сата и 30 минута пре прошле године :
Видели смо примарни пример интервалног типа података и разумели како функционише. Сада ћемо видети улазни и излазни формат вредности интервала.
Прво ћемо разумети Вредност ПостгреСКЛ интервала за формат уноса :
ПостгреСКЛ формат уноса интервала
У ПостгреСКЛ-у имамо следеће опширна синтакса, што нам помаже да запишемо вредности интервала:
quantity unit [quantity unit...] [direction]
Имамо следеће параметре, који се користе у горњој синтакси:
Параметар | Опис |
---|---|
количина | А количина је број, који такође прихвата знакове као + или - |
јединица | Тхе јединица може бити било који миленијум, век, деценија, година, месец, недеља, дан, сат, минут, секунда, милисекунда, микросекунда, или скраћеница може бити следећа и, м, д, итд. а облици множине могу бити тхе месеци, дани , итд. |
правац | Тхе правац параметар може бити пре или празан низ. |
Напомена: Горња синтакса се такође користи за формат излазног интервала и позната је као постгрес_вербосе.
У примеру испод, приказаћемо неке вредности интервала где користимо опширна синтакса :
INTERVAL '1 year 5 months 5 days'; INTERVAL '1 weeks ago';
Интервални формат ИСО 8601
Поред опширне синтаксе изнад, за писање вредности интервала уз помоћ ИСО 8601-време интервалима, ПостгреСКЛ нам пружа два начина, а то су:
Формат ознака за ИСО 8601 је следећи:
P quantity unit [ quantity unit ...] [ T [ quantity unit ...]]
У горњем формату, вредност интервала суштински почиње са писмо П , анд тхе писмо Т се користи за дефинисање јединица доба дана .
Табела испод приказује ИСО 8601 интервал Скраћенице јединица:
Скраћеница | Опис |
---|---|
И | Године |
М | Месеци (за део датума) |
ИН | Недеље |
Д | Дани |
Х | Сати |
М | Записници (за временски део) |
С | Секунде |
Напомена: М може бити месецима или минутама у зависности од тога да ли изгледа пре или после слова Т.
Хајде да видимо пример ИСО 8601 ознаке формат за наше боље разумевање:
Тхе Формат ознака ИСО 8601 може се написати за интервал од 5 година 4 месеца 3 дана 2 сата 1 минута 1 секунда :
P5Y4M3DT2H1M1S
И алтернативни облик ИСО 8601 је као што је приказано испод:
P [ years-months-days ] [ T hours:minutes:seconds ]
И такође почиње са слово П и слово Т, који цепа Време и датум делови вредности интервала.
На пример, тхе ИСО 8601 алтернативни облик може се писати за 5 година 4 месеца 3 дана 2 сата 1 минут 1 секунда, како је приказано испод:
P0005-04-03T02:01:01
ПостгреСКЛ Интервални излазни формат
ПостгреСКЛ интервал излазни формат вредности интервала може се подесити уз помоћ КОМПЛЕТ интервалстиле команду, као што можемо видети у следећем примеру:
SET intervalstyle = 'iso_8601';
ПостгреСКЛ садржи четири различита излазна формата, као што су:
Напомена: За форматирање вредности интервала, ПостгреСКЛ подразумевано користи Постгрес стил.
Хајде да видимо пример нашег бољег разумевања:
Следећа команда се користи за приказ 5 година 4 месеца 3 дана 2 сата 1 минута 1 секунда у четири различита излазна формата:
За ИСО_8601 излазни формат
У доњој команди ћемо КОМПЛЕТ тхе интервалстиле као исо_8601 за горе поменуту вредност интервала:
SET intervalstyle = 'iso_8601'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minute 1 second';
Излаз
Након извршења горње команде, добићемо доњи резултат, који представља исо_8601 формат излаза интервала:
За постгрес_вербосе излазни формат
У доњој команди ћемо КОМПЛЕТ тхе интервалстиле као постгрес_вербосе за горе поменуту вредност интервала:
SET intervalstyle = 'postgres_verbose'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Излаз
Добићемо доњи резултат након имплементације горње команде, која показује постгрес_вербосе формат излаза интервала:
централна слика у цсс-у
За Постгрес излазни формат
У доњој команди ћемо КОМПЛЕТ тхе интервалстиле као Постгрес за горе поменуту вредност интервала:
SET intervalstyle = 'postgres'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Излаз
Добићемо доњи резултат након успешног извршавања горње команде, која приказује Постгрес формат излаза интервала:
За Скл_стандардни излазни формат
У доњој команди ћемо КОМПЛЕТ тхе интервалстиле као скл_стандард за горе поменуту вредност интервала:
SET intervalstyle = 'sql_standard'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Излаз
Добићемо доњи резултат након успешног извршавања горње команде, која представља скл_стандард формат излаза интервала:
Промена ПостгреСКЛ интервала у стринг
Можемо користити ТО_ЦХАР() функција за измену вредности интервала у стринг.
Синтакса за промену ПостгреСКЛ интервала у стринг
TO_CHAR(interval,format)
Тхе ТО_ЦХАР() функција узима прва изјава као вредност интервала и још један као формату и преузима стринг, приказујући интервал у одређеном формату.
У следећем примеру користићемо функцију ТО_ЦХАР() која конвертује ПостгреСКЛ интервал у вредност стринга:
SELECT TO_CHAR( INTERVAL '15h 15m 15s','HH24:MI:SS' );
Излаз
Након успешног извршавања горње команде, добићемо следећи резултат:
Оператори и функције у вези са ПостгреСКЛ интервалом
Интервални оператори
Можемо користити следеће +, -, * итд. аритметички оператор да бисте добили вредности интервала.
Хајде да видимо доњи пример ради бољег разумевања:
У следећој команди користићемо аритметички оператор (+) уз помоћ типа података ПостгреСКЛ интервала:
SELECT INTERVAL '1h 50m' + INTERVAL '5m';
Излаз
Добићемо доњи резултат имплементације горње команде, као што је приказано у наставку:
У следећој команди користићемо аритметички оператор (-) уз помоћ типа података ПостгреСКЛ интервала:
SELECT INTERVAL '3h 50m' - INTERVAL '30m';
Излаз
Приликом имплементације горње команде, добићемо следећи резултат:
У следећој команди користићемо аритметички оператор (*) уз помоћ типа података ПостгреСКЛ интервала:
SELECT 400 * INTERVAL '5 minute';
Излаз
Приликом имплементације горње команде, добићемо следећи резултат:
Екстраховање података из ПостгреСКЛ интервала
Можемо користити ИЗВЛАЧИ () функција за издвајање поља из вредности интервала, на пример, година, месец, датум итд .
Синтакса за издвајање података из ПостгреСКЛ интервала
EXTRACT(field FROM interval)
У горњој синтакси, можемо користити година, месец, датум, сат, минути , итд., у параметру поља.
Тхе екстракт функција враћа вредност типа двоструке прецизности ако желимо да издвојимо из интервала.
У следећем примеру користићемо ИЗВЛАЧИ () функција за преузимање вредности двоструке прецизности.
SELECT EXTRACT (MINUTE FROM INTERVAL '2 hours 30 minutes' );
Излаз
водени жиг у речи
Након успешног извршавања горње команде, добићемо доњи излаз, који приказује део датума за двоструку прецизност вредности као што је приказано у наставку:
Подешавање вредности ПостгреСКЛ интервала
Имамо две функције, јустифи_даис и јустифи_хоурс у ПостгреСКЛ-у, што нам омогућава да изменимо интервал од 24 сата сматрати једног дана и интервал од 30 дана сматрати месец дана .
Хајде да видимо пример да бисмо разумели како прилагођавамо вредности ПостгреСКЛ интервала:
У следећој команди користићемо јустифи_даис и јустифи_хоурс функција:
SELECT justify_days(INTERVAL '30 days'), justify_hours(INTERVAL '24 hours');
Излаз
Након извршења горње команде, добићемо следећи резултат, који приказује интервал од 30 дана као месец дана анд тхе интервал од 24 сата као један дан :
Осим тога, јустифи_интервал функција регулише вредности интервала уз помоћ јустифи_даис и јустифи_хоурс са додатним модификацијама знакова:
У следећем примеру користићемо функцију јустифии_интервал са командом СЕЛЕЦТ:
SELECT justify_interval(interval '6 months -1 hour');
Излаз
Добићемо следећи излаз након имплементације горње команде:
Преглед
У Тип података ПостгреСКЛ Интервал одељак, научили смо следеће теме:
- Тхе Подаци о ПостгреСКЛ интервалима тип се користи за чување и распоређивање периода у године, месеци, дани, сати, минути, секунде.
- Користили смо различите Интервалне функције , на пример, САДА(), ТО_ЦХАР(), да побољша вредности интервала из одређене табеле.
- Вредности ПостгреСКЛ интервала имају обе улаз и излаз формат интервала.
- Вредности ПостгреСКЛ интервала можемо подесити уз помоћ функције јустифи_даис(), јустифи_хоурс, јустифи_интервал().
- Можемо користити ИЗВЛАЧИ () функција за издвајање вредности поља интервала.