Datum i vrijeme u MySQL-u: format datuma, sortiranje i lokalizacija

Prirodno prikazivanje vremena je datum: godina, mjesec, dan i vrijeme: sati, minute sekunde. Neke aplikacije imaju dane u tjednu i djelić sekunde, ali su u svim aplikacijama uvijek potrebni alati za obradu vremenskih varijabli i njihovo prezentiranje na prirodan način.

Vrijeme karakterizira mjesto u prostoru u kojem se događaj događa i mjesto gdje se može koristiti. To je opći postupak koji definira potrebu za lokalizacijom i izvještavanjem o vremenskoj zoni.

MySQL: Vrste podataka za snimanje vremena

Formalno, vrste podataka u sustavu za upravljanje MySQL bazama podataka su pet deskriptora (datum, vrijeme, vremenska oznaka i godina). Developer često preferira univerzalnu varijantu: char
  • - kada postoji objektivni razlog za korištenje njegove interpretacije funkcije MySQL date_format () ili za osiguravanje potrebnih uvjeta za ispravno sortiranje.



    U ovom primjeru, formira se tablica opcija za prikazivanje datuma i u nju se unose dvije linije. Prvi redak sadrži podatke u prirodnom formatu, a polje "x_timestamp" u poljima za popunjavanje. Drugi redak u svim poljima koristi MySQL now () funkciju. Treba napomenuti da je navedeno polje popunjeno u oba slučaja.

    Oznaka vremena i njezin format

    Ova vrsta vremenskog polja (vremenska oznaka) i upotreba funkcije MySQL date_format () iznimno su učinkovite za stvaranje vremenskih oznaka. To "nema nikakve veze" s bilo kojim algoritmom. Ne zahtijeva posebna istraživanja u prikazu datuma ili vremena. To je samo privremena oznaka - točka na liniji razvoja.


    Polje ovog tipa popunjava se u vrijeme stvaranja linije. Nema potrebe da obratite pozornost na to, ali uvijek i na bilo koji upit možete se osloniti na: MySQL date_format () datetime = vrijeme kada je linija stvorena. Važno je, naravno, da ga nikada ne mijenjate. Linija je stvorena i vrijeme izrade određeno je samo jednom. Ne možete ga urediti. Ova odluka ima mnogo područja primjene:
  • protokol o dijalogu s posjetiteljem;
  • Dnevnik sigurnosti;
  • praćenje radnji zaposlenika;
  • kalendar događanja;
  • poštanski sandučić, itd.
  • Vrijeme je, prije svega, niz događaja. Sve što je povezano s web-resursom koji traži savršenstvo, rangiranje i refleksiju u stvarnom životu je jedan ili drugi način povezan s ispravnim odrazom vremena:
  • onako kako jest, nije vidljiv korisniku, ali dostupan developeru;
  • kako bi se trebalo odraziti na web-resursu koji se koristi u algoritmu, uzet u obzir u dokumentu, itd.
  • Vrijeme je višestruko i ovisi o točki prostora u kojem se događaj dogodio u kontekstu toga mjesta gdje se treba koristiti ili odražavati.

    Zdrav razum MySQL-a odaberite date_format ()

    Zahtjev za uzorkovanje informacija je glavna fraza na jeziku SQL-a. To je tako traženo, što je vrlo važno pri formiranju željenog uzorka što je brže moguće pretvoriti njegov sadržaj u pravilan oblik, bez opterećenja algoritma dodatnim dizajnom.
    S ove točke gledišta MySQl date_format () omogućuje izvršavanje bilo koje vrijednosti datuma i vremena u formatu u kojem je potrebnoodmah u trenutku podnošenja zahtjeva. Tablica prikazuje dva retka i postoje dva identična polja: "x_timestamp" i "x_datetime". Zahtjev se odnosi na ta dva polja, ali specificira njihova imena, prosljeđujući PHP, u datumskom formatu MySQL izravno.
    Niz oblikovanja može biti bilo koji. Sadržaj niza formata šalje se rezultatu upita u formatu "kao što je" s zamjenom ključnih elemenata formata "% *", gdje simbol zvjezdice označava simbol formata: godina, mjesec, dan i sat.

    Nacionalni format vremena i razvrstavanje

    Korištenje datuma u MySQL standardu najbolje je rješenje za korištenje funkcionalnosti jezika SQL. Nema problema s sortiranjem, niti s izračunima, niti s oblikovanjem u MySQL stilu date_format (). No, nisu sve zemlje imale radni tjedan koji počinje u nedjelju, ne smatra se uvijek normalnim prikazom vremena u 12-satnom formatu, a na svim jezicima postoji pojam "AM" i "PM". Postoji mnogo takvih nacionalnih osobitosti, ali velika većina njih leži izvan funkcije SQL jezika.
    Nesporno je da uopće postoji takav dijalekt SQL-a koji se može proširiti na račun nacionalne boje zemalja izvan granica pojma "lokalizacija". Zapravo, ne čudi da "lokalizacija" u praksi znači više automatske zamjene nekih riječi (kombinacija) drugima ovisno o jeziku. Ali ne uvijek nacionalni jezik određuje sve, prije svega, ni na koji način nije povezan s ispravnim prikazom vremena.

    Ključ događaja i ključ podataka

    Vrijeme se nikada ne vraća, stoga je savršen ključ za bilo koji redak, za bilo koju tablicu, za bilo koju bazu podataka. Dva događaja mogu se pojaviti u isto vrijeme ako je njihov intervalpraćenje više od vremenske razlike između njihovog izgleda. Na primjer, dva korisnika prijavljena su na web-lokaciju u isto vrijeme, ali u različitim sekundama ove minute.
    PHP ima zanimljivo rješenje: postoji objekt i instanca objekta. Postoji ideja o statičkoj varijabli:
  • privatni statički $ iUniqueNo = -1; //"UU" je uvijek jedinstveni broj
  • //uz svaki poziv ove funkcije, $ iUniqueNo će biti različit i
  • //se nikada neće ponoviti unutar jedne sekunde.
  • javna funkcija IncUniqueNo () {
  • ako (self: $ iUniqueNo> 99)
  • self :: $ iUniqueNo = 0;
  • drugo
  • self :: $ iUniqueNo ++;
  • }
  • Ne previše fantazira, spaja se u jednu cjelinu: godinu, mjesec, dan, sat, minutu, sekundu i $ iUniqueNo, dobivamo: YYYYMMDDchchmssUU - jedinstveni ključ ("UU" = "$ iUniqueNo") za snimanje i istovremeno vremenski žig za svaku uporabu. Ovo je idealno rješenje u kontekstu tipa vremena baze podataka i funkcije MySQL date_format (), što čini i vrijeme i ključ jedno vrijeme u isto vrijeme.

    Povezane publikacije