PostgreSQL

PostgreSQL To_char laika zīmogs ar laika joslu

PostgreSQL To_char laika zīmogs ar laika joslu

PostgreSQL formatēšanas metodes ietver noderīgu rīku kolekciju dažādu datu veidu (datums / laiks, vesels skaitlis, peldošais punkts, cipars) tulkošanai formatētās virknēs un formatētu virkņu tulkošanu unikālos datu tipos. Turpmāk dažreiz mums jāpārvērš arī laika joslas. Laiks vienmēr tiek ierakstīts UTC PostgreSQL laika zīmogos laika joslas datu veidlapai, bet tas pēc noklusējuma tiek parādīts pārlūkprogrammā, sesijā vai lietotāja vietējā laikā. Viena no tās palīga funkcijām, uz kuru mēs esam paļāvušies, ir metode TO_CHAR (), kas ļauj cita veida formās izmantot laika zīmogus un laika zīmogus ar laika joslu un ļauj sakārtot laika zīmoga gabalus. Laika zīmogu, dubulto precizitāti, ilgumu, skaitli vai skaitlisko vērtību var pārveidot par virkni, izmantojot metodi PostgreSQL TO_CHAR (). Šķiet, ka ir viena argumenta metode “to_timestamp”, kas ņem divkāršas precizitātes argumentu un pārveido no Unix laikmeta uz laika zīmogu, izmantojot laika joslu. Šajā ierakstā mēs jums parādīsim, kā kaut ko darīt. Vispirms apskatīsim to_char () tuvāk.

Sintakse:

Funkcijas to_char () vispārējā sintakse ir šāda:

>> To_char (izteiksme, formāts);

PostgreSQL metodei TO_CHAR () nepieciešami divi apgalvojumi:

PostgreSQL ir pieejami divi laika zīmogu veidi:

Un šeit ir jautājums: standarta laika zīmoga datu veidlapa nezina laika joslas. Un tā ir SQL nepieciešamība (šķiet, kā tas varēja notikt). Mūsu galvenais mērķis ir iemācīties to_Char () laika zīmogu ar laika joslu. Lai sāktu darbu pie PostgreSQL ar funkciju 'to_char (), atveriet komandrindas čaulu PostgreSQL un piegādājiet obligātā servera, datu bāzes, porta numura, lietotājvārda un paroles parametru vērtības. Atstājiet šos apsvērumus neizpildītus, ja jums ir jāizmanto noklusētie norādītie parametri, kā parādīts zemāk esošajā attēlā.

To_char () virknes skaitlim

Lai saprastu funkcijas to_Char () jēdzienu, izmantojot laika zīmogu ar laika joslu, vispirms jāizmēģina virkņu numuru piemērs. Tātad mums ir skaitlis “1897”, un mēs to pārveidosim par “9999”.99 'formāts, izmantojot zemāk esošo vaicājumu. No zemāk esošās izejas varat redzēt, ka virknes numurs ir pārveidots norādītajā formātā.

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

Šeit ir vēl viena pārvēršanas ilustrācija. Šoreiz mēs esam pārveidojuši skaitli citā formātā, kurā ir “komats”. Raksts “G” tiks izmantots, lai norādītu komatu.

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

To_char laika zīmogs ar TimeZone

Lai saprastu laika zīmoga ar laika joslu koncepciju, ņemsim vērā vienkāršu piemēru. Pieņemsim, ka atrodaties Pakistānā, tāpēc jūsu laika joslai pašlaik jābūt “PKT”.

01. piemērs:

Mēģināsim ielādēt pašreizējo laika zīmogu vaicājumā SELECT, vienlaikus pārveidojot to datuma un laika formātā, kā parādīts zemāk esošajā vaicājumā. Terminu “TZ” lieto, lai atdotu pašreizējo laika joslu. Rezultātā tiek parādīta diena, datums, laiks un laika josla.

>> SELECT to_char (CURRENT_TIMESTAMP, 'Diena pirmdiena dd, gggg HH12: MI AM (TZ)');

Mainīsim laika joslu uz “Eiropa / Roma”.

>> SET TimeZone = 'Eiropa / Roma';

Izmēģinot to pašu SELECT vaicājumu, kā parādīts, jūs saņemsiet citu laiku, datumu un laika joslu.

02. piemērs:

Kad vaicājumā SELECT norādāt laika joslu, izvadē netiks rādīta pašreizējā laika josla, kā norādīts zemāk.

>> SELECT to_char (CURRENT_TIMESTAMP LAIKA ZONĀ 'Āzija / Jeruzaleme', 'gggg HH12: MI AM (TZ)');

03. piemērs:

Izveidosim ātru tabulu ar nosaukumu “laiks” ar diviem laukiem. Viens no tiem ir TIMESTAMP tipa, bet otrs ir TIMESTAMPTZ tips.

>> CREATE TABLE laiks (bez_timezone TIMESTAMP, ar_timezone TIMESTAMPTZ);

Tagad pārbaudīsim pašreizējo laika joslu, kuru mēs esam izmantojuši mūsu sistēmā, izmantojot SHOW komandu SHOW šādi:

>> RĀDĪT laika joslu;

Tagad tabulā “laiks” jāievieto pašreizējās laika joslas, kuru izmantojāt ierīcē, pašreizējās vērtības tabulā “laiks”, izmantojot funkciju “tagad ()”, kā parādīts zemāk.

>> INSERT INTO time VALUES (tagad (), tagad ());

Tagad jūs varat izgūt ierakstu no tabulas 'time', izmantojot SELECT vaicājumu, kā norādīts zemāk. Kolonnā “without_timezone” tiek parādīts pašreizējais datums un laiks bez laika joslas, savukārt kolonnā “with_timezone” tiek parādīts vietējais laiks ar laika joslu pilnībā.

>> SELECT * NO laika;

Mainīsim laika joslu uz “US / EASTERN” no zemāk esošā vaicājuma.

>> IESTATĪT SESIJAS LAIKA ZONU “ASV / AUSTRUMI”;

Tagad vēlreiz pārbaudīsim tabulu. Jūs redzēsiet, kā kolonnas “with_timezone” vērtība ir parādīta atbilstoši laika joslai “US / EASTERN”, bet “without_timezone” vērtība ir tāda pati kā iepriekš.

>> SELECT * NO laika;

4. piemērs:

Pieņemsim vēl dažus piemēru metodei to_char (). Pieņemsim to pašu iepriekš tabulā 'laiks'. Kolonnas “without_timezone” vērtību pārveidosim par virkni, kas sastāv no stundām, minūtēm, sekundēm un laika joslas. Izmēģināsim SELECT vaicājumu, izmantojot kolonnas vērtības “without_timezone” konvertēšanai metodi to_char (). Mēs savā vaicājumā esam pieminējuši “TZ”, taču laika josla netiks rādīta, jo kolonnas vērtība nesastāv no laika joslas. Norādītā-zemāk komanda dod izvadi:

>> SELECT to_char (bez_timezonas, 'HH12: MI: SS TZ') NO laika;

Tagad mēģināsim to pašu vaicājumu otras kolonnas “with_timezone” gadījumā, lai to pārvērstu stundu, minūšu, sekundes un laika joslas virknē. Šoreiz tas parādīs laika joslu ar laiku, kā arī izmantojot tālāk norādīto vaicājumu.

>> SELECT to_char (with_timezone, 'HH12: MI: SS TZ') NO laika;

Secinājums:

Tā kā problēma ar laika joslu / bez laika joslas ietekmē ne tikai tabulas sadalīšanu, iesakām izmantot laika joslas veidu, kad vien iespējams. Gandrīz visās vadlīnijās tika apspriests, kā veikt no laika atkarīgu attīrīšanu PostgreSQL, izmantojot vietējās stundas. Pareizs, laika joslai jutīgs risinājums rada maz sarežģījumu, taču nākotnē var ietaupīt no nepatikšanām.

Kā nomainīt peles kreiso un labo pogu operētājsistēmā Windows 10
Tas ir diezgan normāli, ka visas datora peles ierīces ir ergonomiski izstrādātas lietotājiem ar labo roku. Bet ir pieejamas peles ierīces, kas ir īpaš...
Atdariniet peles klikšķus, virzot kursoru, izmantojot operētājsistēmā Windows 10 bezklikšķu peli
Peles vai tastatūras lietošana nepareizā pozā, ja to lieto pārmērīgi daudz, var izraisīt daudz veselības problēmu, tostarp spriedzi, karpālā kanāla si...
Pievienojiet peles žestus operētājsistēmai Windows 10, izmantojot šos bezmaksas rīkus
Pēdējos gados datori un operētājsistēmas ir ievērojami attīstījušās. Bija laiks, kad lietotājiem bija jāizmanto komandas, lai pārvietotos pa failu pār...