PostgreSQL

PostgreSQL To_char-aikaleima aikavyöhykkeellä

PostgreSQL To_char-aikaleima aikavyöhykkeellä

PostgreSQL-muotoilumenetelmät sisältävät hyödyllisen kokoelman työkaluja erilaisten tietotyyppien (päivämäärä / aika, kokonaisluku, liukuluku, numeerinen) kääntämiseen alustettuihin merkkijonoihin ja muotoiltujen merkkijonojen kääntämiseen takaisin ainutlaatuisiin tietotyyppeihin. Tästä lähtien joskus meidän on myös muunnettava aikavyöhykkeet. Ajoitus tallennetaan aina UTC-muodossa PostgreSQL-aikaleimoissa aikavyöhyketietolomakkeelle, mutta se näytetään oletuksena selaimessa, istunnossa tai käyttäjän paikallista aikaa. Yksi sen aputoiminnoista, joihin olemme tottuneet luottamaan, on TO_CHAR () -menetelmä, joka sallii aikaleimojen ja aikavyöhykkeellä varustettujen aikaleimojen lisäksi muun muodon ja antaa sinun järjestää haluamasi aikaleiman osat. Aikaleima, kaksoistarkkuus, kesto, luku tai numeerinen arvo voidaan muuntaa merkkijonoksi PostgreSQL TO_CHAR () -menetelmällä. Näyttää olevan yhden argumentin menetelmä 'to_timestamp', joka vie kaksitarkkuuden argumentin ja muuntaa Unix-aikakaudesta aikaleiman käyttämällä aikavyöhykettä. Näytämme sinulle, miten tehdä jotain asialle tässä viestissä. Katsotaan ensin tarkemmin to_char ().

Syntaksi:

To_char () -funktion yleinen syntakse on seuraava:

>> To_char (lauseke, muoto);

TO_CHAR () -menetelmä PostgreSQL: ssä vaatii kaksi väitettä:

PostgreSQL: ssä on saatavana kaksi aikaleimatyyppiä:

Ja tässä on kysymys: tavallinen aikaleiman tietolomake ei tunne aikavyöhykkeitä. Ja se on SQL-välttämättömyys (miten se olisi voinut tapahtua, näyttää siltä, ​​että se ei ole). Päätavoitteemme on oppia to_Char () aikaleima aikavyöhykkeellä. Aloita PostgreSQL: n käyttö 'to_char ()' -toiminnolla avaamalla PostgreSQL-komentorivin kuori ja toimittamalla pakollisen palvelimen, tietokannan, portin numeron, käyttäjänimen ja salasanan parametriarvot. Jätä nämä näkökohdat täyttämättä, jos sinun on käytettävä määritettyjä oletusparametreja alla olevan kuvan mukaisesti.

To_char () merkkijonolle

Jos haluat ymmärtää funktion to_Char () käsitteen käyttämällä aikaleimaa ja aikavyöhykettä, sinun on ensin kokeiltava esimerkkiä merkkijonoista. Joten meillä on luku '1897', ja muunnamme sen numeroksi '9999.99 '-muoto käyttämällä alla olevaa kyselyä. Alla olevasta lähdöstä näet, että merkkijononumero on muunnettu määritettyyn muotoon.

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

Tässä on toinen esimerkki muunnosta varten. Tällä kertaa olemme muuntaneet numeron toiseen muotoon, jossa on 'pilkku'. Merkkiä 'G' käytetään pilkun määrittämiseen.

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

To_char-aikaleima aikavyöhykkeellä

Tarkastellaan yksinkertaista esimerkkiä ymmärtääksemme aikaleiman ja aikavyöhykekonseptin. Oletetaan, että olet Pakistanissa, joten aikavyöhykkeesi on oltava tällä hetkellä PKT.

Esimerkki 01:

Yritetään hakea nykyinen aikaleima SELECT-kyselystä muunnettaessa se päiväys-aika-muotoon, kuten alla olevassa kyselyssä näkyy. Termiä 'TZ' käytetään antamaan takaisin nykyinen aikavyöhyke. Lähdössä näkyy päivä, päivämäärä, aika ja aikavyöhyke.

>> SELECT to_char (CURRENT_TIMESTAMP, 'päivä ma pp, vvvv HH12: MI AM (TZ)');

Vaihdetaan aikavyöhykkeemme Eurooppaan / Roomaan.

>> SET aikavyöhyke = 'Eurooppa / Rooma';

Saat eri ajan, päivämäärän ja aikavyöhykkeen, kun yrität samaa SELECT-kyselyä, kuten kuvassa.

Esimerkki 02:

Kun määrität aikavyöhykkeen SELECT-kyselyssä, lähtö ei näytä nykyistä aikavyöhykettä alla olevan lähdön mukaisesti.

>> SELECT to_char (CURRENT_TIMESTAMP AIKAVyöhykkeellä 'Aasia / Jerusalem', 'vvvv HH12: MI AM (TZ)');

Esimerkki 03:

Luodaan pikataulukko nimeltä aika, jossa on kaksi kenttää. Yksi on TIMESTAMP-tyyppistä ja toinen on TIMESTAMPTZ-tyyppiä.

>> LUO TAULUKON aika (ilman_aika-aluetta TIMESTAMP, ilman aikavyöhykettä TIMESTAMPTZ);

Tarkistetaan nyt nykyinen aikavyöhyke, jota olemme käyttäneet järjestelmässämme, käyttämällä kuoressa olevaa SHOW-komentoa seuraavasti:

>> NÄYTÄ aikavyöhyke;

Nyt sinun on lisättävä laitteellasi käyttämäsi nykyisen aikavyöhykkeen päivämäärän ja kellonajan nykyiset arvot taulukkoon 'aika' käyttämällä 'nyt () -toimintoa alla olevan kuvan mukaisesti.

>> INSERT INTO ARVOT (nyt (), nyt ());

Nyt voit hakea tietueen taulukosta 'time' käyttämällä SELECT-kyselyä alla esitetyllä tavalla. Sarake 'without_timezone' näyttää nykyisen päivämäärän ja kellonajan ilman aikavyöhykettä, kun taas sarake 'with_timezone' näyttää paikallisen ajan ja aikavyöhykkeen kokonaan.

>> SELECT * alkaen;

Vaihdetaan aikavyöhykkeeksi US / EASTERN alla olevasta kyselystä.

>> MÄÄRITÄ ISTUNNON AIKAVYÖHYKE 'US / EASTERN';

Tarkastellaan nyt taulukko uudelleen. Näet, kuinka "with_timezone" -sarakkeen arvo on näytetty aikavyöhykkeen "US / EASTERN" mukaan, mutta arvon "without_timezone" arvo on sama kuin aiemmin.

>> VALITSE * AJASTETTU;

Esimerkki 04:

Otetaan lisää esimerkkejä to_char () -menetelmälle. Oletetaan sama taulukon yläpuolella oleva aika. Muunamme sarakkeen '' ilman aikavyöhykettä '' arvon merkkijonoksi, joka koostuu tunneista, minuuteista, sekunneista ja aikavyöhykkeestä. Kokeillaan SELECT-kyselyä käyttämällä to_char () -menetelmää muunnettaessa sarakkeen arvo 'ilman_väliaikaa'. Olemme maininneet kyselyssä 'TZ', mutta se ei näytä aikavyöhykettä, koska sarakkeen arvo ei koostu aikavyöhykkeestä. Alla mainittu komento antaa lähdön:

>> SELECT to_char (ilman aikavyöhykettä, 'HH12: MI: SS TZ') AJASTA;

Yritetään nyt samaa kyselyä toisen sarakkeen 'with_timezone' tapauksessa muunnettaessa se tuntien, minuuttien, sekuntien ja aikavyöhykkeen merkkijonoksi. Tällä kertaa se näyttää aikavyöhykkeen ajan myötä myös alla olevan kyselyn avulla.

>> SELECT to_char (aikavyöhykkeellä, 'HH12: MI: SS TZ') AIKAISESTA;

Päätelmä:

Koska aikavyöhyke / ilman aikavyöhykettä -ongelma vaikuttaa muuhun kuin vain taulukon osiointiin, suosittelen käyttämään aikavyöhyketyyppiä aina kun mahdollista. Lähes kaikissa ohjeissa keskusteltiin siitä, miten ajasta riippuvainen puhdistus tehdään PostgreSQL: ssä paikallista tuntia käyttäen. Oikea, aikavyöhykeherkkä ratkaisu lisää vähän komplikaatioita, mutta voi säästää ongelmista tulevaisuudessa.

Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...
Unity3D Tutorial
Introduction to Unity 3D Unity 3D is a powerful game development engine. It is cross platform that is it allows you to create games for mobile, web, d...