sql >> Databáze >  >> RDS >> Mysql

Ukládání negregoriánských dat v typu data Mysql

Ne. Kromě toho, že nějaké platné datum v jednom kalendářním systému neexistuje v jiném kalendáři, funkce fungují na DATE zadané sloupce nemusí fungovat správně. Nejde jen o ukládání dat, je potřeba tato data zpracovat a například porovnat s CURDATE() .

Pokud zvolíte správné formátování, použijte dvě číslice pro měsíc a den a statický počet číslic pro rok, typ znakového řetězce, CHAR nebo VARCHAR je v pořádku. Vzájemné porovnávání témat je pouze lexikální srovnání a stále můžete psát své funkce nebo procedury pro rozšíření funkčnosti.

Výběrem TIMESTAMP nebo DATE změní otázku, protože první představuje konkrétní čas, ale druhý představuje konkrétní záznam v kalendáři. Pokud chcete dát čas vedle data, stále se liší ve významu. Měli byste přemýšlet o problémech, jako jsou změny letního času, které způsobují, že někteří lidé dávají přednost vložení záznamu do kalendáře (DATE) a někteří dávají přednost sekundám, které uplynuly od 1. ledna 1970 (TIMESTAMP). např. existují dvě časová razítka pro 1393-06-30 23:30:00 v kalendáři Hijri Shamsi na základě aktuálních zákonů íránské vlády.



  1. Mohu psát funkce PostgreSQL na Ruby on Rails?

  2. Příklady formátování „datetimeoffset“ v SQL Server pomocí standardních formátovacích řetězců (T-SQL)

  3. Připravený příkaz Mysqli (prevence vkládání SQL)

  4. Jak v MySQL vrátit týden v měsíci?