Postgres pro standard dokumentáció 9 1

Ezen funkciók mellett az OVERLAPS SQL utasítás is támogatott.

Eredménye igaz, amikor két határidõ (melyet határaik határozzák meg) keresztezik egymást és egyébként hamis. Az időhatárokat megadhatjuk a dátumok, az idő vagy a dátumok, illetve az idő, illetve a dátum, az idő (vagy a dátum és idő) párral egy intervallummal. Amikor egy pár értéket ad meg, az első lehet az időszak eleje és vége is: az OVERLAPS automatikusan úgy tekinti, hogy az időszak kezdete alacsonyabb érték. Az időtartamok félig nyitottak, vagyis az elején<=время<конец . если только начало и конец не равны — в этом случае период представляет один момент времени. Это означает, например, что два периода, имеющие только общую границу, не будут считаться пересекающимися.

A dátumok és dátumok kivonása az idővel is lehet nem triviális művelet. Az egyik alapvetően egyszerű módja ennek a számításnak az elvégzése, ha minden értéket másodpercekké konvertál az EXTRACT (EPOCH FROM.) Használatával. és keresse meg a különbséget az eredmények között; a két dátum közötti másodpercek száma érkezik. Ez figyelembe veszi a hónapok hónapjainak egyenlőtlen számát, az időzónák változásait és a nyári időszámítást. Amikor a dátumokat vagy dátumokat kivonja az idővel, a "-" operátor adja meg a napok számát (24 óra) és az órák / percek / másodpercek közötti értékeket, figyelembe véve ugyanazokat a tényezőket. Az életkor függvény visszaadja az évek, hónapok, napok és órák / percek / másodpercek számát, a mezők kivonását, majd a negatív értékek újraszámítását. E megközelítések közötti különbséget az alábbi lekérdezések szemléltetik. A bemutatott eredményeket az "US / Eastern" időzóna kapta; Két megadott dátum között átmenet volt a nyári időszámításra:

A függvény kivonat a dátum / idő értékek mezőiből származik, például év vagy óra. Itt a forrás egy időbélyegző érték. idő vagy intervallum. (A típus dátumának kifejezései az időbélyeg típusának felelnek meg, így ez a típus is megengedett.) A megadott mező az az azonosító, amellyel a megadott mezőt kiválasztja a forrásból. A kivonat funkció visszatér a dupla pontosságú értékekhez. Érvényes mezők:

Az időbélyeg értékek esetében ez a hónap napja (1 - 31), az intervallumértékek esetében - az évtized napjainak száma

Év, osztva 10 dow

A hét napja, vasárnaptól (0) szombatig (6) számítva

Vegyük észre, hogy a kivonatban a hét napjait nem ugyanúgy számozzuk meg, mint a to_char (.D ') függvényben. Doy

Az év napja (1 - 365/366)

Az időbélyegek időzónával történő értékei esetén ez a másodpercek száma 1970-01-01 00:00:00 UTC-ról (negatív lehet); a dátum és az időbélyeg értékek esetében ez a másodpercek száma 1970-01-01 00:00:00 helyi időtartammal és időközzel - az intervallum teljes időtartama másodpercekben

Módosítsa a korszak idejét a dátum / idő értékre az alábbiak szerint:

(Ezt a konverziót a to_timestamp függvény végzi.) Óra

Óra (0 - 23) izodow

A hét napja, hétfőtől vasárnapig (7)

Az eredmény csak vasárnapi eltérést jelent. Ez a számozás megfelel az ISO 8601 szabványnak

Év az ISO 8601 heti naptárban, amelyben a dátum esik (nem vonatkozik az intervallumokra)

Ez a mező nem volt a PostgreSQL-ben a 8.3 verzió előtt. ezredmásodperc

A másodperc törtrészének értéke 1 000 000 szorozva; vegye figyelembe, hogy ez magában foglalja az ezredmásodperceket

A másodperc törtrészének értéke 1000-gyel szorozva; vegye figyelembe, hogy ez egész másodpercet tartalmaz. egy perc

Perc (0 - 59) hónap

Az időbélyegértékek esetében ez az év (1-12) hónapszáma és az intervallum esetében - a hónapok fennmaradó része 12 (a 0-11 tartományban) osztva

Év negyedév (1-4), ami a második időpont

Másodpercek, beleértve a törtrész (0 - 59 [1]) időzónát

Az időzóna eltolása UTC-ből másodpercekben. A pozitív értékek megfelelnek az UTC időjárási időzónáinak és a nyugati negatív értékeknek. (Technikailag a Postgres Pro UT1-et használ, mivel a koordinációs másodperceket nem veszik figyelembe.) Timezone_hour

Az időzóna az időzóna_minute időzónában eltolva

Percek mező az időzónában eltolva

Év területén. Vegyük észre, hogy a 0. év nem volt, és ezt szem előtt kell tartanunk, kivonva BC korszakunkból.

A kivonat funkció elsősorban számítási célokra szolgál. A dátum / idő formázási funkciókat a 9.8.

A date_part függvény a szabványos SQL függvény kivonatának hagyományos Ingres egyenértékét emulálja.

Ne feledje, hogy itt a paramétermezőnek string értékűnek kell lennie, nem pedig névnek. A date_part függvény ugyanazokat a mezőket fogadja el, mint a kivonat.

A date_trunc függvény úgy működik, mint a számok csonkolása.

Itt az érték az időbélyeg vagy intervallum típusának kifejezése. (A dátum- és időtípusok értékeit automatikusan átváltják az időbélyegre és az intervallum típusokra.) A mezőparaméter meghatározza, hogy pontosan hogyan csökkenthető a továbbított érték. A visszatérési érték egy időbélyeg vagy intervallum típus lesz, és minden értéke kisebb, mint a megadott mező nulla lesz (vagy egy, ha napi vagy havi szám).

A paraméter mező a következő értékeket veheti fel:

Kapcsolódó cikkek