Ebben a részben a működését fogjuk megérteni PostgreSQL intervallum adattípus, és azt is látjuk példák a Intervallum adattípus. És többnyire használt Interval funkciókat , például, NOW(), TO_CHAR(), EXTRACT(), justify_days(), justify_hours(), justify_interval(). A Bemenet és kimenet formátum a PostgreSQL intervallumértékekhez.
Mi az a PostgreSQL intervallum adattípus?
A PostgreSQL-ben a Intervallum egy másik típusú adattípus, amelyet az Idő tárolására és telepítésére használnak évek, hónapok, napok, órák, percek, másodpercek, stb És a hónapok és napok értékek azok egész számok értékeit , míg a második mezőny lehet a törtértékek.
A PostgreSQL intervallum adattípus értéke magában foglalja 16 bájtos tárhely méret, amely segít egy időszak tárolását az elfogadható tartományban - 178000000 évtől 178000000-ig évek.
hrithik roshan
Megjegyzés: A második mezőben vett törtszámjegyek számát p pontosságnak nevezzük.
A PostgreSQL Interval adattípus szintaxisa
A PostgreSQL Interval adattípus szintaxisa a következő:
@ interval [ fields ] [ (p) ]
A fenti szintaxisban a következő paramétereink vannak:
Paraméter | Leírás |
---|---|
mezőket | A mezőparaméter az Idő megjelenítésére szolgál. |
p | P a precíziós érték megjelenítésére szolgál. |
@ | Figyelmen kívül hagyhatjuk a @ paramétert, mivel az opcionális paraméter. |
Nézzünk egy példát, hogy jobban megértsük, hogyan írhatjuk fel az Intervallum értékeket val vel @ paraméter és @ paraméter nélkül :
@interval '6 months before'; @interval '2 hours 30 minutes';
VAGY
interval '6 months before'; interval '2 hours 30 minutes';
Megjegyzés: Mindkét fenti állítást használhatjuk, mivel megfelelnek egymásnak. Ezen túlmenően egy intervallumértéknek lehet egy választható p precíziós értéke is, ahol a megengedett tartomány 0 és 6 között kezdődik.
Példa PostgreSQL Interval adattípusra
Nézzünk egy példát, hogy megértsük, hogyan PostgreSQL intervallum adattípus művek.
Az alábbi példában megpróbáljuk megtalálni az időpontot 2 óra 30 perccel előtte, a a tavalyi év aktuális időpontja ; a következő parancsokat fogjuk használni:
SELECT now(), now() - INTERVAL '6 months 2 hours 30 minutes' AS '2 hours 30 minutes before last year';
Kimenet
A fenti parancs végrehajtása után az alábbi kimenetet kapjuk, amely megjelenik 2 óra 30 perccel tavaly előtt :
Láttuk az intervallum adattípusának elsődleges példáját, és megértettük a működését. Most látni fogjuk a bemeneti és kimeneti formátumot intervallum értékek.
Először is meg fogjuk érteni a PostgreSQL intervallumérték a bemeneti formátumhoz :
PostgreSQL intervallum beviteli formátum
A PostgreSQL-ben a következők vannak bőbeszédű szintaxis, ami segít felírni az intervallumértékeket:
quantity unit [quantity unit...] [direction]
Az alábbi paraméterekkel rendelkezünk, amelyeket a fenti szintaxisban használunk:
Paraméter | Leírás |
---|---|
Mennyiség | A Mennyiség egy szám, amely olyan jeleket is elfogad, mint a + vagy - |
Mértékegység | A Mértékegység bármilyen lehet évezred, évszázad, évtized, év, hónap, hét, nap, óra, perc, másodperc, ezredmásodperc, mikroszekundum, vagy rövidítése a következő lehet y, m, d stb. és a többes számú alakok lehetnek a hónapok, napok stb. |
irány | A irány paraméter lehet ezelőtt vagy az üres karakterlánc. |
Megjegyzés: A fenti szintaxis az intervallum kimeneti formátumhoz is használatos, és postgres_verbose néven ismert.
Az alábbi példában néhány intervallumértéket fogunk megjeleníteni, ahol a bőbeszédű szintaxis :
INTERVAL '1 year 5 months 5 days'; INTERVAL '1 weeks ago';
Az ISO 8601 intervallum formátum
A fenti bőbeszédű szintaxis mellett az intervallumértékek megírása a segítségével ISO 8601-idő intervallumok esetén a PostgreSQL két módszert biztosít számunkra, amelyek a következők:
Az ISO 8601 jelölési formátuma a következő:
P quantity unit [ quantity unit ...] [ T [ quantity unit ...]]
A fenti formátumban az esszenciális intervallumérték a -val kezdődik P betű , és a T betű meghatározására szolgál napszaki egység .
Az alábbi táblázat a ISO 8601 intervallum egység rövidítések:
Rövidítés | Leírás |
---|---|
ÉS | Évek |
M | Hónapok (a dátum részhez) |
BAN BEN | Hetek |
D | Napok |
H | Órák |
M | Percek (az időre vonatkozóan) |
S | Másodpercek |
Megjegyzés: Az M lehet hónapok vagy percek attól függően, hogy a T betű előtt vagy után néz-e ki.
Lássunk egy példát ISO 8601 jelölések formátum a jobb megértés érdekében:
A ISO 8601 jelölőformátum intervallumára írható 5 éve 4 hónapja 3 napja 2 óra 1 perce 1 másodperce :
P5Y4M3DT2H1M1S
És az alternatív formája ISO 8601 az alábbiak szerint van:
P [ years-months-days ] [ T hours:minutes:seconds ]
És azzal is kezdődik P betű és T betű, amely felosztja a idő és dátum az intervallum értékének részei.
Például a ISO 8601 alternatív forma számára írható 5 év 4 hónap 3 nap 2 óra 1 perc 1 másodperc, az alábbiak szerint:
P0005-04-03T02:01:01
PostgreSQL intervallum kimeneti formátum
Az intervallumértékek PostgreSQL intervallum kimeneti formátuma a segítségével állítható be KÉSZLET intervalstílus parancsot, ahogy az alábbi példában is láthatjuk:
SET intervalstyle = 'iso_8601';
A PostgreSQL négy különböző kimeneti formátumot tartalmaz, például:
Megjegyzés: Az intervallumértékek formázásához a PostgreSQL alapértelmezés szerint a Postgres stílust használja.
Lássunk egy példát jobb megértésünkre:
Az alábbi parancs a 5 éve 4 hónapja 3 napja 2 óra 1 perce 1 másodperce négy különböző kimeneti formátumban:
ISO_8601 kimeneti formátumhoz
Az alábbi parancsban megtesszük KÉSZLET a intervalstílus mint iso_8601 a fent említett intervallumértékhez:
SET intervalstyle = 'iso_8601'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minute 1 second';
Kimenet
A fenti parancs végrehajtása után az alábbi eredményt kapjuk, amely a iso_8601 intervallum kimeneti formátum:
Postgres_verbose kimeneti formátumhoz
Az alábbi parancsban megtesszük KÉSZLET a intervalstílus mint postgres_verbose a fent említett intervallumértékhez:
SET intervalstyle = 'postgres_verbose'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Kimenet
A fenti parancs végrehajtása után az alábbi eredményt kapjuk, amely a postgres_verbose intervallum kimeneti formátum:
Hogyan lehet letölteni a youtube videókat vlc-ről
Postgres kimeneti formátumhoz
Az alábbi parancsban megtesszük KÉSZLET a intervalstílus mint Postgres a fent említett intervallumértékhez:
SET intervalstyle = 'postgres'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Kimenet
A fenti parancs sikeres végrehajtása után az alábbi eredményt kapjuk, amely a Postgres intervallum kimeneti formátum:
Sql_standard kimeneti formátumhoz
Az alábbi parancsban megtesszük KÉSZLET a intervalstílus mint sql_standard a fent említett intervallumértékhez:
SET intervalstyle = 'sql_standard'; SELECT INTERVAL '5 years 4 months 3 days 2 hours 1 minutes 1 second';
Kimenet
Az alábbi eredményt kapjuk a fenti parancs sikeres végrehajtása után, amely a sql_standard intervallum kimeneti formátum:
A PostgreSQL intervallum módosítása karakterláncra
Használhatjuk a TO_CHAR() függvény egy intervallumértéket karakterláncra módosítani.
A PostgreSQL intervallum karakterláncra való módosításának szintaxisa
TO_CHAR(interval,format)
A TO_CHAR() függvény veszi a első kijelentés mint egy intervallum értéket és egy másik, mint a formátum és lekér egy karakterláncot, megjelenítve az intervallumot az adott formátumban.
Az alábbi példában a TO_CHAR() függvényt fogjuk használni, amely a PostgreSQL intervallumot karakterlánc értékké alakítja:
SELECT TO_CHAR( INTERVAL '15h 15m 15s','HH24:MI:SS' );
Kimenet
A fenti parancs sikeres végrehajtása után az alábbi eredményt kapjuk:
PostgreSQL intervallumhoz kapcsolódó operátorok és függvények
Intervallum operátorok
A következőket használhatjuk +, -, * stb. aritmetikai operátor hogy megkapjuk az intervallumértékeket.
Nézzük az alábbi példát a jobb megértés érdekében:
A következő parancsban a aritmetikai operátor (+) PostgreSQL intervallum adattípus segítségével:
SELECT INTERVAL '1h 50m' + INTERVAL '5m';
Kimenet
Az alábbi eredményt kapjuk a fenti parancs végrehajtása során, az alábbiak szerint:
A következő parancsban a aritmetikai operátor (-) PostgreSQL intervallum adattípus segítségével:
mi az a klaszterezés
SELECT INTERVAL '3h 50m' - INTERVAL '30m';
Kimenet
A fenti parancs végrehajtásakor az alábbi eredményt kapjuk:
A következő parancsban a aritmetikai operátor (*) PostgreSQL intervallum adattípus segítségével:
SELECT 400 * INTERVAL '5 minute';
Kimenet
A fenti parancs végrehajtásakor az alábbi eredményt kapjuk:
Adatok kinyerése egy PostgreSQL intervallumból
Használhatjuk a KIVONAT() függvény a mezők kinyeréséhez egy intervallumértékből, például év, hónap, dátum stb .
A PostgreSQL-intervallumból való adatok kinyerésének szintaxisa
EXTRACT(field FROM interval)
A fenti szintaxisban használhatjuk a év, hónap, dátum, óra, perc stb., a mezőparaméterben.
A kivonat függvény dupla pontosságú típusú értéket ad vissza, ha ki akarunk kinyerni az intervallumból.
A következő példában a KIVONAT() függvény a dupla pontosságú érték lekéréséhez.
SELECT EXTRACT (MINUTE FROM INTERVAL '2 hours 30 minutes' );
Kimenet
A fenti parancs sikeres végrehajtása után az alábbi kimenetet kapjuk, amely megjeleníti a dátum rész a kettős pontossághoz értékek az alábbiak szerint:
PostgreSQL intervallumértékek beállítása
Két funkciónk van, indokolt_napok és indokolt_órák PostgreSQL-ben, amely lehetővé teszi számunkra, hogy módosítsuk a 24 órás intervallum tekintsd mint egy nap és az intervallum 30 napos tekintsd mint egy hónap .
Lássunk egy példát, hogy megértsük, hogyan állítjuk be a PostgreSQL intervallumértékeit:
A következő parancsban a justify_days és justify_hours függvény:
SELECT justify_days(INTERVAL '30 days'), justify_hours(INTERVAL '24 hours');
Kimenet
A fenti parancs végrehajtása után a következő eredményt kapjuk, amely az intervallumot jeleníti meg 30 nap, mint egy hónap és a 24 órás intervallum, mint egy nap :
Ezen kívül a justify_interval függvény segítségével szabályozza az intervallum értékeket indokolt_napok és indokolt_órák kiegészített jelzésmódosításokkal:
A következő példában a justifiy_interval függvényt fogjuk használni a SELECT paranccsal:
SELECT justify_interval(interval '6 months -1 hour');
Kimenet
A fenti parancs végrehajtása után a következő kimenetet kapjuk:
Áttekintés
Ban,-ben PostgreSQL intervallum adattípus részben a következő témákat tanultuk meg:
- A PostgreSQL intervallumadatok A típus egy időszak tárolására és telepítésére szolgál évek, hónapok, napok, órák, percek, másodpercek.
- Mást használtunk Intervallumfüggvények , például, MOST(), TO_CHAR(), az adott tábla intervallumértékeinek növelésére.
- A PostgreSQL intervallumértékei mindkettőt tartalmazzák bemenet és kimenet intervallum formátum.
- A PostgreSQL intervallum értékeit a segítségével tudjuk beállítani justify_days(), justify_hours, justify_interval() függvények.
- Használhatjuk a KIVONAT() függvényt az intervallum mező értékeinek kinyeréséhez.