PostgreSQL

PostgreSQL To_char Časovni žig s časovnim pasom

PostgreSQL To_char Časovni žig s časovnim pasom

Metode formatiranja PostgreSQL vključujejo uporabno zbirko orodij za prevajanje različnih podatkovnih vrst (datum / čas, celo število, plavajoča vejica, številska) v formatirane nize in prevajanje oblikovanih nizov nazaj v edinstvene podatkovne tipe. Od zdaj naprej moramo včasih pretvoriti tudi časovne pasove. Čas je vedno zapisan v UTC v časovnih žigih PostgreSQL za obrazec podatkov o časovnem pasu, vendar je privzeto prikazan v brskalniku, seji ali lokalnem času uporabnika. Ena izmed njegovih pomožnih funkcij, na katero smo se oprli, je metoda TO_CHAR (), ki med drugim omogoča časovne žige in časovne žige s časovnim pasom ter vam omogoča, da razporedite koščke časovnega žiga, kakor želite. Časovni žig, dvojno natančnost, trajanje, število ali številsko vrednost je mogoče pretvoriti v niz z metodo PostgreSQL TO_CHAR (). Zdi se, da obstaja metoda z enim argumentom, 'to_timestamp', ki vzame argument z dvojno natančnostjo in iz epohe Unix pretvori v časovni žig s pomočjo časovnega pasu. V tej objavi vam bomo pokazali, kako kaj storiti glede tega. Najprej si podrobneje oglejmo to_char ().

Sintaksa:

Splošna sintaksa funkcije to_char () je naslednja:

>> To_char (izraz, oblika);

Metoda TO_CHAR () v PostgreSQL potrebuje dve trditvi:

V PostgreSQL sta na voljo dve vrsti časovnih žigov:

In tu je težava: standardni obrazec za podatke o časovnem žigu ne pozna časovnih pasov. In to je potreba po SQL-u (kako bi se lahko zgodilo, se zdi izven). Naš glavni poudarek je, da se naučimo časovnega žiga to_Char () s časovnim pasom. Če želite začeti delati na PostgreSQL s funkcijo 'to_char ()', odprite lupino ukazne vrstice PostgreSQL in podajte vrednosti parametrov za obvezni strežnik, bazo podatkov, številko vrat, uporabniško ime in geslo. Če želite uporabiti privzete označene parametre, kot je prikazano na spodnji sliki, pustite te premisleke neizpolnjene.

To_char () Za niz številke

Če želite razumeti koncept funkcije to_Char () z uporabo časovnega žiga s časovnim pasom, morate najprej preizkusiti primer številčnih nizov. Torej imamo številko '1897' in jo bomo pretvorili v '9999.99 'z uporabo spodnje poizvedbe. Iz spodnjega izhoda lahko vidite, da je bila številka niza pretvorjena v določeno obliko.

>> IZBERI to_char (1897, '9999.99 ');

Tu je še ena ilustracija za pretvorbo. Tokrat smo številko pretvorili v drugo obliko zapisa, ki vsebuje "vejico". Znak 'G' bo uporabljen za določanje vejice.

>> IZBERI to_char (367.78, '9G999.99 ');

Časovni žig To_char s časovnim pasom

Da bi razumeli časovni žig s konceptom časovnega pasu, si oglejmo preprost primer. Recimo, da ste v 'Pakistanu', zato mora biti vaš časovni pas trenutno 'PKT'.

Primer 01:

Poskusimo pridobiti trenutni časovni žig v poizvedbi SELECT, medtem ko ga pretvorimo v obliko datuma in časa, kot je prikazano v spodnjem poizvedbi. Izraz "TZ" se uporablja za vrnitev trenutnega časovnega pasu. Izhod prikazuje dan, datum, uro in časovni pas.

>> SELECT to_char (CURRENT_TIMESTAMP, 'Dan pon, dd, llll HH12: MI AM (TZ)');

Spremenimo svoj časovni pas v 'Evropa / Rim'.

>> SET TimeZone = 'Evropa / Rim';

Ob poskusu iste poizvedbe SELECT, kot je prikazano, boste dobili drugačen čas, datum in časovni pas.

Primer 02:

Ko v poizvedbi SELECT določite časovni pas, izhod ne bo prikazal trenutnega časovnega pasu v skladu s spodnjim izhodom.

>> IZBERITE to_char (CURRENT_TIMESTAMP AT TIME ZONE 'Asia / Jerusalem', 'yyyy HH12: MI AM (TZ)');

Primer 03:

Ustvarimo hitro tabelo z imenom 'čas' z dvema poljem. Ena je tipa TIMESTAMP, druga pa TIMESTAMPTZ.

>> UREDI TABELO čas (brez_časovnega pasu TIMESTAMP, z_časovnega pasu TIMESTAMPTZ);

Zdaj pa preverimo trenutni časovni pas, ki smo ga uporabljali v našem sistemu, z ukazom SHOW v lupini, kot sledi:

>> POKAŽI časovni pas;

Zdaj morate v tabelo 'čas' vstaviti trenutne vrednosti datuma in ure trenutnega časovnega pasu, ki ste jih uporabljali v svoji napravi, s pomočjo funkcije 'zdaj ()', kot je prikazano spodaj.

>> VSTAVITE V ČASOVNE VREDNOSTI (zdaj (), zdaj ());

Zdaj lahko zapis pridobite iz tabele 'time' z uporabo poizvedbe SELECT, kot je prikazano spodaj. Stolpec 'without_timezone' prikazuje trenutni datum in čas brez časovnega pasu, stolpec 'with_timezone' pa lokalni čas s časovnim pasom.

>> IZBERI * OD časa;

Spremenimo časovni pas v 'US / VZHOD' iz spodnje poizvedbe.

>> NASTAVITE ČASOVNI OBMOČJ SESIJE 'ZDA / VZHOD';

Zdaj pa ponovno preverimo tabelo. Videli boste, kako je bila prikazana vrednost stolpca 'with_timezone' glede na časovni pas 'US / EASTERN', vendar je vrednost 'without_timezone' enaka kot prej.

>> IZBERI * OD časa;

Primer 04:

Dajmo še nekaj primerov za metodo to_char (). Predpostavimo, da je enaka zgornja tabela "čas". Vrednost stolpca 'without_timezone' bomo pretvorili v niz, sestavljen iz ur, minut, sekund in časovnega pasu. Preizkusimo poizvedbo SELECT z uporabo metode to_char () za pretvorbo vrednosti stolpca 'without_timezone'. V poizvedbi smo omenili 'TZ', vendar ne bo prikazal časovnega pasu, ker vrednost stolpca ne vsebuje časovnega pasu. Spodaj navedeni ukaz daje rezultat:

>> IZBERI to_char (brez_časovnega pasu, 'HH12: MI: SS TZ') OD časa;

Zdaj poskusimo isto poizvedbo v primeru drugega stolpca 'with_timezone' pretvoriti v niz ur, minut, sekund in časovnega pasu. Tokrat bo prikazal časovni pas s časom tudi z uporabo spodnje poizvedbe.

>> SELECT to_char (with_timezone, 'HH12: MI: SS TZ') FROM čas;

Zaključek:

Ker težava s časovnim pasom z / brez vpliva na več kot le razdeljevanje tabel, priporočam, da uporabite vrsto časovnega pasu, kadar je to izvedljivo. Skoraj vse smernice so razpravljale o tem, kako izvesti časovno odvisno čiščenje v PostgreSQL z uporabo lokalnih ur. Pravilna, občutljiva na časovni pas rešitev pomeni malo zapletov, vendar bi vas v prihodnosti lahko rešila težav.

Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...
Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...