V PostgreSQL, date_part()
Funkce načte podpole, jako je rok, měsíc, hodina nebo minuta, část z hodnoty data/času.
Je ekvivalentní k extract()
funkce, i když s mírně odlišnou syntaxí.
Syntaxe
Funkce má následující syntaxi:
date_part('field', source)
Kde:
'field'
je pro část data, kterou chcete načíst. Tento parametr musí být řetězcová hodnota, nikoli název. Níže naleznete seznam platných názvů polí.source
je časové razítko nebo interval ze kterého chcete načíst část data.
Příklad – Časové razítko
Zde je základní příklad, který ukazuje, jak načíst pole z časového razítka .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15');
Výsledek:
22
Tento příklad načte pole hodiny z časového razítka hodnotu.
Tady je to znovu, ale tentokrát získávám pole roku.
SELECT date_part('year', timestamp '2020-09-16 22:33:15');
Výsledek:
2020
Příklad – Interval
V tomto příkladu získám část data z intervalu hodnotu.
SELECT date_part('hour', interval '5 hours 30 minutes');
Výsledek:
5
V dalším příkladu funkce správně vrací počet hodin, i když uvádím pouze počet minut.
SELECT date_part('hour', interval '120 minutes');
Výsledek:
2
S touto technikou však nepočítejte. Možná zjistíte, že ne vždy dostanete výsledek, který očekáváte.
Například:
SELECT date_part('hour', interval '100 minutes');
Výsledek:
1
A další:
SELECT date_part('minute', interval '2 hours');
Výsledek:
0
Názvy polí
První argument může být kterýkoli z následujících:
century
day
decade
dow
doy
epoch
hour
isodow
isoyear
microseconds
millennium
milliseconds
minute
month
quarter
second
timezone
timezone_hour
timezone_minute
week
year