sql >> Databáze >  >> RDS >> PostgreSQL

Jak date_part() funguje v PostgreSQL

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

  1. Jak zastavit/spustit MySQL pomocí MySQL Workbench

  2. Podpora transakcí motoru MyIsam

  3. Získejte prvních n záznamů pro každou skupinu seskupených výsledků

  4. 7 Kroková příručka k používání Accessu s Azure Multi-Factor Authentication