logo

ПостгреСКЛ интервал

У овом одељку ћемо разумети рад Тип података ПостгреСКЛ Интервал, а такође видимо примери од Интервални тип података. И углавном се користи Интервал функције , на пример, НОВ(), ТО_ЦХАР(), ЕКСТРАЦТ(), јустифи_даис(), јустифи_хоурс(), јустифи_интервал(). Тхе Улаз и излаз формат за вредности ПостгреСКЛ интервала.

Шта је ПостгреСКЛ интервални тип података?

У ПостгреСКЛ-у, Интервал је још један тип типа података који се користи за складиштење и примену времена у године, месеци, дани, сати, минути, секунде, итд. И тхе месеци и дани вредности су вредности целих бројева , док је друго поље може бити вредности разломака.

Вредност типа података ПостгреСКЛ интервала укључује Складиштење од 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'; 

ПостгреСКЛ садржи четири различита излазна формата, као што су:

    исо_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'); 

Излаз

Добићемо следећи излаз након имплементације горње команде:

ПостгреСКЛ интервал

Преглед

У Тип података ПостгреСКЛ Интервал одељак, научили смо следеће теме:

  • Тхе Подаци о ПостгреСКЛ интервалима тип се користи за чување и распоређивање периода у године, месеци, дани, сати, минути, секунде.
  • Користили смо различите Интервалне функције , на пример, САДА(), ТО_ЦХАР(), да побољша вредности интервала из одређене табеле.
  • Вредности ПостгреСКЛ интервала имају обе улаз и излаз формат интервала.
  • Вредности ПостгреСКЛ интервала можемо подесити уз помоћ функције јустифи_даис(), јустифи_хоурс, јустифи_интервал().
  • Можемо користити ИЗВЛАЧИ () функција за издвајање вредности поља интервала.