DATE a DATETIME

Termíny a časy jsou velmi frustrující, datové typy a SQL neznamená, že je jednodušší pracovat s než ostatní jazyky. Zatímco datum a čas jsou ve skutečnosti zcela odlišné datové typy,často jsou sloučeny do datového typu datetime. Samotná data a časy SQL jsou velmi jednoduché, i když vyžadují speciální formátování. Sloučení těchto dvou však může být jedním z nejbolestivějších úkolů, kterým budete čelit v prvních letech. Dobrým pravidlem je používat společně čas a datum pouze tehdy, když to v budoucnu nezbytně potřebujete nebo budete potřebovat. Vysvětlím, proč data a časy komplikují věci za minutu. Za prvé, podívejme se na to, jak snadný život, když jednoduše pracujete s daty.

práce s daty SQL

naše tabulka „Uživatelé“:

id username first last member_since
1 ohBillNotAgain Hillary Clinton 2011-12-25
2 internetCreator Al Gore 2011-12-8
3 dontMessWithTexas George Bush 2011-7-9

Let’s try to get all of our members before December 25, 2011.

Příklad:

SELECT *FROM UsersWHERE member_since < '2011-12-25'

Výsledek

id jméno poslední member_since
2 internetCreator Al Gore 2011-12-8
3 dontMessWithTexas George Bush 2011-7-9

Ok, řekli jsme, že do 25. prosince 2011, což znamená, že chudé Hillary není zahrnuta, protože ona je na ten den. Al sotva udělal řez, ale starý George byl daleko před naším rande. Myslím, že bychom si měli promluvit o tom, co se stalo. Až tam, kde member_since < ‚2011-12-25‘, víme, co dělali. Asi bychom mohli hádat, co se tady děje, ale já porazím mrtvého koně. Zkontrolujeme náš sloupec member_since, abychom zjistili, zda je menší než <, naše datum, které bylo napsáno v jednoduchých uvozovkách jako „2011-12-25“. Často, když googling pro pomoc s daty, vidíte tuto syntaxi označuje jako ‚YYYY-MM-DD‘, kde Y je rok, M měsíc a D den, samozřejmě. Každé opakování je symbolem prázdného znakového prostoru pro tento prvek. Tak, chcete jen 2 číslice za měsíc, protože to dává smysl, a možná se nestaráte o první 2 znaky roku. Místo toho stačí napsat, YY dostat 11. Snadné, na nádherné DATETIMEs

pomocí DATETIME v SQL

naše nová tabulka „Uživatelé:

id username first last last_login
1 ohBillNotAgain Hillary Clinton 2011-12-24 12:59:15
2 internetCreator Al Gore 2011-12-24 11:53:25
3 dontMessWithTexas George Bush 2011-12-24 16:24:17

nyní se snažíme získat všechny naše členy, kteří se přihlásili před 1: 00PM prosinec 24, 2011.

Příklad:

SELECT * FROM UsersWHERE last_login < '2011-12-24 13:00:00'

Výsledek

id jméno poslední last_login
1 ohBillNotAgain Hillary Clinton 2011-12-24 12:59:15
2 internetCreator Al Gore 2011-12-24 11:53:25

Chudák George… v Pořádku, přesně stejnou syntaxi jako poslední, s výjimkou jsme se nahrazuje název sloupce a používá DATETIME string porovnat proti. Datový typ DATETIME obsahuje všechny stejné prvky jako datový typ data plus časový řetězec. Obyčejně odkazoval se na jako ‚YYYY-MM-DD HH:MM:SS‘ Znovu, v single citáty a s mezerou oddělující datum řetězec od času string, vytváříme řetězce DATA pro srovnání. Hillary a Al oba provést řez, protože se přihlásili před ‚ 2011-12-24 13: 00:00 ‚ cut off DATETIME. Je to mnohem jednodušší, než to vypadá v praxi. Je to proto, že jsme ručně vložili řetězec DATETIME. SQL má několik funkcí data, se kterými si můžete pohrát, můžete náš řetězec nahradit:

důležité funkce data SQL

Poznámka: Funkce data SQL se v různých verzích SQL velmi liší. Jedná se o MySQL.

  • CURDATE() – vrací aktuální datum
  • CURTIME() – vrací aktuální čas
  • NOW() – vrací datum a čas (DATETIME formátu)

Pokud používáte MySQL, zvážit přechod. Jen si dělám srandu, druh, ale bez obav, jednoduchý dotaz společnosti Google vám pomůže najít správné funkce SQL pro vaši databázi SQL.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *