Data i czas w MySQL: format daty, sortowanie i lokalizacja

Naturalną reprezentacją czasu jest data: rok, miesiąc, dzień i godzina: godziny, minuty sekundy. Niektóre aplikacje mają dni tygodnia i ułamek sekundy, ale we wszystkich aplikacjach narzędzia są zawsze potrzebne do przetwarzania zmiennych czasowych i ich prezentacji w naturalny sposób.

Czas charakteryzuje się miejscem w przestrzeni, w której wydarzenie ma miejsce i punktem, w którym można go wykorzystać. Jest to ogólna procedura, która definiuje potrzebę lokalizacji i raportowania strefy czasowej.

MySQL: Typy danych do rejestrowania czasu

Formalnie typy danych w systemie zarządzania bazami danych MySQL to pięć deskryptorów (data, godzina, znacznik czasu i rok). Deweloper często preferuje uniwersalny wariant: char
  • - gdy istnieje obiektywny powód, aby użyć jego interpretacji funkcji MySQL date_format () lub zapewnić warunki konieczne do prawidłowego sortowania.



    W tym przykładzie tworzona jest tabela opcji do reprezentowania dat i wprowadzane są do niej dwie linie. Pierwszy wiersz zawiera dane w formacie naturalnym, aw polach wypełnienia nie ma pola "x_timestamp". Drugi wiersz we wszystkich polach wykorzystuje funkcję MySQL now (). Należy zauważyć, że określone pole jest wypełniane w obu przypadkach.

    Etykieta czasu i jej format

    Ten typ pola czasowego (znacznik czasu) i użycie funkcji Data_format () MySQL są niezwykle skuteczne w tworzeniu znaczników czasowych. To "nie ma związku" z żadnym algorytmem. Nie wymaga żadnej specjalnej eksploracji w prezentacji daty lub czasu. To tylko tymczasowa etykieta - punkt na linii rozwoju.


    Pole tego typu jest wypełniane w momencie utworzenia linii. Nie musisz zwracać na to uwagi, ale zawsze iw każdym zapytaniu możesz polegać na: MySQL date_format () datetime = czas, kiedy linia została utworzona. Ważne jest, oczywiście, aby tego nie zmieniać. Linia zostanie utworzona, a jej czas utworzenia zostanie określony tylko raz. Nie możesz tego edytować. Ta decyzja ma wiele obszarów zastosowania:
  • protokół dialogowy z odwiedzającym;
  • Dziennik zabezpieczeń dziennika;
  • śledzenie działań pracowników;
  • kalendarz wydarzeń;
  • skrzynka pocztowa itp.
  • Czas jest przede wszystkim serią wydarzeń. Wszystko, co związane jest z zasobem sieciowym, który dąży do doskonałości, rankingu i realistycznej refleksji, jest w taki czy inny sposób związane z poprawnym odzwierciedleniem czasu:
  • jak to jest, nie jest widoczne dla użytkownika, ale dostępne dla programisty;
  • , ponieważ powinien znaleźć odzwierciedlenie w zasobach sieciowych wykorzystywanych w algorytmie, wziętych pod uwagę w dokumencie itp.
  • . Czas jest wielopłaszczyznowy i zależy od punktu przestrzeni, w której wydarzenie miało miejsce w kontekście tego punkt przestrzeni, w której powinien być użyty lub odbity.

    Zdrowy rozsądek MySQL wybierz date_format ()

    Prośba o próbkowanie informacji jest główną frazą w języku SQL. Jest to bardzo pożądane, co jest bardzo ważne przy formowaniu pożądanej próbki tak szybko, jak to możliwe, w celu przekształcenia jej zawartości we właściwą postać, bez obciążania algorytmu dodatkowymi projektami.
    Z tego punktu widzenia MySQl date_format () pozwala na wykonanie dowolnej wartości daty i czasu w formacie, w którym jest to koniecznenatychmiast w momencie złożenia wniosku. Poniższa tabela przedstawia dwie linie to te same dwa pola: „x_timestamp” i „x_datetime”. Żądanie odnosi się do tych dwóch pól, ale określa ich nazwy, przekazując PHP, bezpośrednio w formacie daty MySQL.
    Łańcuch formatowania może być dowolnym. Zawartość Format transmisji ciąg w formacie wyniku zapytania „jak jest” z wymianą kluczowych elementów formatu „% *”, gdzie symbol gwiazdka oznacza w formacie: rok, miesiąc, dzień i godzina.

    Krajowa format czasu i sortowania

    na podstawie daty w standardowym typu MySQL - najlepsze rozwiązanie w użyciu funkcjonalnego języka SQL. Nie ma problemu z dowolnym sortowania lub obliczeń, czy styl formatowania MySQL DATE_FORMAT (). Ale nie wszystkie kraje pracować tydzień rozpoczyna się w niedzielę, nie zawsze jest uznawany za normalny czas prezentacji w formacie 12-godzinnym, a nie wszystkie języki jest pojęcie „AM” i „PM”. Istnieje wiele takich narodowych osobliwości, ale zdecydowana większość z nich leży poza funkcją języka SQL.
    Jest wątpliwe, że istnieje ogólnie dialekt SQL, który jest w stanie rozwinąć ze względu na barwach narodowych poza granicami pojęcia „lokalizacji”. Faktycznie, nie dziwi fakt, że „lokalizacja” w praktyce oznacza więcej Autokorekta kilka słów (kombinacji) z drugiej strony, w zależności od języka. Ale nie zawsze język narodowy jest wszystko, przede wszystkim, to nie ma nic wspólnego z prawidłową reprezentację czasu.

    Kluczowe wydarzenia i kluczowe dane

    Czas nie biegnie do tyłu, dlatego jest idealnym kluczem do rzędu w dowolnej tabeli do dowolnej bazy danych. Dwa zdarzenia mogą wystąpić w tym samym czasie, jeśli ich interwał jestśledzenie więcej niż różnica czasu między ich wyglądem. Na przykład dwóch użytkowników zalogowało się do witryny w tym samym czasie, ale w różnych sekundach tej minuty.
    PHP ma interesujące rozwiązanie: jest obiekt i jest instancją obiektu. Jest idea statycznego "zmienny"
  • private static $ iUniqueNo = -1; //"W" jest zawsze niepowtarzalny numer
  • //każde wywołanie tej funkcji jest $ iUniqueNo i inni
  • //przez jedną sekundę nie powtórzy.
  • Funkcja publicznego IncUniqueNo () {
  • Jeżeli (samo :: $ iUniqueNo i 99)
  • ,
  • z własnym :: $ iUniqueNo = 0;
  • else
  • self :: $ iUniqueNo ++;
  • }
  • Nie zbyt fantazjowania, łącząc w jedno: rok, miesiąc, dzień, godzina, minuta, sekunda i $ iUniqueNo, otrzymujemy: HHHHMMDDchchmmssUU - unikalny klucz ("W" = "$ iUniqueNo") do nagrywania i jednocześnie pieczęć czasu do dowolnego użytku. Jest idealnym rozwiązaniem w kontekście takich baz danych i funkcji czasowych MySQL DATE_FORMAT (), która po prostu sprawia, że ​​czas i klucz z jednego pola „timestamp” jednocześnie.

    Powiązane publikacje