Datum a čas v MySQL: formát dat, řazení a lokalizace
Přirozenou představou času je: rok, měsíc, den a čas: hodiny, minuty. V některých aplikacích jsou dny v týdnu a zlomek sekundy důležité, ale ve všech aplikacích jsou vždy potřeba nástroje pro zpracování časových proměnných a jejich prezentace v přirozené podobě.
Obsah
Čas je charakterizován místem v prostoru, kde nastane událost, a bodem, ve kterém může být použita. Jedná se o obecnou objednávku, která určuje potřebu lokalizace a účtování časových pásem.
MySQL: datové typy pro záznam času
Formálně jsou typy dat v systému správy databází MySQL pět deskriptorů (datum, čas, časové razítko a rok). Vývojáři často upřednostňují univerzální možnost: char (20) - pokud existují objektivní důvody pro použití jeho výklad funkce MySQL DATE_FORMAT () nebo poskytnout nezbytné podmínky pro správné třídění.
V tomto příkladu je vytvořena tabulka variant pro reprezentaci dat a do ní jsou přidány dva řádky. První řádek obsahuje data v přirozeném formátu a v vyplněných polích není žádné pole "x_timestamp". Druhý řádek ve všech polích používá funkci MySQL now (). Je třeba poznamenat, že toto pole je vyplněno v obou případech.
Časové razítko a jeho formát
Tento typ časové značky a použití funkce MySQL date_format () je velmi efektivní pro vytváření časových značek. Toto "nemá co dělat" s žádným algoritmem. To nevyžaduje zvláštní jemnost při prezentaci data nebo času. Toto je jen časové razítko - bod na řadě událostí.
Pole tohoto typu je vyplněno v okamžiku vytvoření řádku. Nemusíte je věnovat pozornost, ale vždy se můžete spolehnout na jakýkoli dotaz: MySQL date_format () datetime = čas vytvoření řetězce. Je důležité, samozřejmě, nikdy ji neměnit. Řetězec je vytvořen a čas jeho vytvoření je definován pouze jednou. Můžete číst, nemůžete se změnit.
Toto řešení má mnoho aplikací:
- protokol o dialogu s návštěvníkem;
- protokol zabezpečení protokolu;
- sledování činností zaměstnanců;
- kalendář událostí;
- poštovní schránku atd.
Čas je v první řadě série událostí. Všechno související s webovým zdrojem usilujícím o dokonalost, růst ratingu a skutečnou reflexi reality je nějak spojeno se správným zobrazením času:
- ve formě, která je, není pro uživatele viditelná, ale je k dispozici vývojáři;
- ve formě, která by měla být promítnuta do webového zdroje, použitého v algoritmu, zohledněného v dokumentu atd.
Čas je mnohostranný a závisí na bodě místa, kde událost nastala v kontextu místa místa, kde by měla být použita nebo zobrazena.
Obecným významem MySQL je vybrat data_format ()
Dotaz k výběru informací je nejdůležitější věta v jazyce SQL. Je tak požadováno, aby bylo co nejrychlejší, aby se požadovaný výběr co nejrychleji převedl jeho obsah do správné podoby bez zatížení algoritmu dalšími konstrukcemi.
Z tohoto pohledu vám MySQl date_format () umožňuje vypsat libovolnou hodnotu data a času ve formátu, který potřebujete okamžitě při spuštění dotazu.
Tabulka obsahuje dva řádky a dvě identická pole: "x_timestamp" a "x_datetime". Dotaz přistupuje k těmto dvěma polím, ale specifikuje jejich názvy a obchází PHP ve formátu MySQL datum přímo.
Formátový řetězec může být libovolný. Obsah řetězec formátu je přeložen do formátu výsledek dotazu „jak je“ s výměnou klíčových prvků ve formátu „% *“, kde hvězdička označuje formát symbol: rok, den, měsíc, hodina.
Národní formát času a třídění
Použití data ve standardu, jako je MySQL, je nejlepším řešením pro používání funkcí jazyka SQL. Neexistují žádné problémy s tříděním, výpočty nebo formátováním ve stylu MySQL date_format ().
Ale ne všechny země pracují týden začíná v neděli, není vždy považováno za normální reprezentace času v 12hodinovém formátu, a ne všechny jazyky mají pojem „AM“ a „PM“. Existuje spousta takových národních charakteristik, ale drtivá většina z nich leží mimo funkcí jazyka SQL.
Je pochybné, že existuje dialekt SQL, který se může rozšířit o národní zbarvení zemí dále než nad rámec termínu "lokalizace". Ve skutečnosti není překvapující, že "lokalizace" v praxi znamená automatickou náhradu některých slov (kombinací) s ostatními v závislosti na jazyce.
Ale ne vždy národní jazyk určuje vše, především, nemá nic společného se správným znázorněním času.
Klíč události a datový klíč
Čas nikdy neteče zpět, proto je ideálním klíčem pro libovolnou linii, libovolnou tabulku, libovolnou databázi. Dvě události se mohou vyskytnout současně, pokud je interval sledování větší než časový rozdíl mezi jejich výskytem. Například dva uživatelé navštívili stránky současně, ale v různých sekundách minuty.
PHP má zajímavé řešení: existuje objekt a existuje nějaká instance objektu. Existuje myšlenka statické "proměnné":
- private static $ iUniqueNo = -1- // "UU" je vždy jedinečné číslo
- // pro každé volání této funkce $ iUniqueNo bude jiné a
- // se už jednou nezabiju.
- veřejná funkce IncUniqueNo () {
- pokud (vlastní :: $ iUniqueNo> 99)
- vlastní :: $ iUniqueNo = 0;
- jinak
- vlastní :: $ iUniqueNo ++;
- }}
Ne příliš fantazírovat, sloučení do jednoho: rok, měsíc, den, hodina, minuta, sekunda, a $ iUniqueNo získat GGGGMMDDchchmmssUU - jedinečný klíč ( „W“ = „$ iUniqueNo“) u každého záznamu na stejné časové razítko bodů v čase, pro jakýkoli použití.
Toto je ideální řešení v kontextu časového typu databáze a funkce MySQL date_format (), která zároveň dělá čas a klíč ze stejného pole "časové značky".
- Soubor SQL. Formát souboru SQL: popis přípony
- MySQL je to, co a kde se používá?
- Vytvoření databáze MySQL je součástí jakéhokoli webu
- MySQL - co je to? Chyba MySQL
- MySQL vyberte z výběru: operátor vzorkování
- Použití MySQL: vložte do
- MySQL - požadavek v žádosti. MySQL: příklady dotazů. Vnořené dotazy MySQL
- SQL (datové typy): tabulka
- `Úskalí` příkazů DML Aktualizujte MySQL
- Časové značky v PHP: časová a časová kalkulace
- Vymazat příkaz Delete MySQL
- Praxe pomocí počítání funkce MySQL
- Vymazání duplicit MySQL
- Jak vytvořit databázi mysql
- Jak používat v MySQL: časové razítko a datetime
- Přístup k ukázkovým výsledkům pomocí pole načítání MySQL
- Seskupování záznamů MySQL: skupina podle
- Vyberte jedinečné záznamy v dotazu MySQL: vyberte odlišné
- MySQL Administration: jak vytvořit uživatele a určit jeho práva
- Replikace MySQL. Krátká exkurze
- Základní typy dat Mysql