PostgreSQL TO_CHAR() pro datum

Postgresql To Char Pro Datum



Když máte v tabulce PostgreSQL hodnotu data, můžete změnit její formát různými způsoby pomocí TO_CHAR(). TO_CHAR() umožňuje uživatelům převádět číselné hodnoty, časové značky, intervaly nebo celá čísla na řetězce. V tomto příspěvku se zaměříme na to, jak použít PostgreSQL k převodu formátu data pomocí TO_CHAR().

Práce s TO_CHAR()

Ať už chcete získat aktuální datum v dotazu PostgreSQL nebo pracovat s daty ve vaší tabulce, je nezbytné pochopit, jak převést datum na řetězec. Možná budete chtít hezčí formát data jako výstup nebo extrahovat část data po převodu na řetězec. V každém případě je TO_CHAR() ideální funkcí.

Kromě toho TO_CHAR() nabízí spoustu možností formátování, které můžete použít. Můžete kombinovat různé možnosti, abyste získali požadovaný výstup.







TO_CHAR() má následující syntaxi:



TO_CHAR(výraz, formát);

Výraz je časové razítko, které chcete převést pomocí zadaného formátu.



Níže jsou uvedeny běžně používané formáty TO_CHAR():





1 rok

YYYY – Zobrazuje rok ve 4 číslicích.

Y, YYY – K vyjádření čtyř číslic v roce používá čárku.



YYY – Zobrazuje pouze poslední tři číslice zadaného roku.

YY – Zobrazuje pouze poslední dvě číslice zadaného roku.

A - Zobrazuje pouze poslední číslici zadaného roku.

2 měsíce

MĚSÍC - Pro název měsíce používá velká písmena.

Měsíc - Pro název měsíce používá malá písmena.

MŮJ - Zkracuje měsíc velkými písmeny.

Můj - Uvádí zkrácený a velkými písmeny měsíc.

MM – Zobrazuje pouze číslo měsíce.

3. Den

DEN - Název dne velkými písmeny.

den - Název dne malými písmeny.

VY - Název dne zkracuje a začíná velkým písmenem.

Tito – Název dne zkracuje a velkými písmeny.

vy- Malé zkrácené jméno dne.

4.  Čas

HH – Hodina dne

HH12 – 12hodinový formát

HH24 – 24hodinový formát

MŮJ - Minut

SS – Sekundy

Uvedené formáty nejsou jediné formáty TO_CHAR(), které můžete použít, ale jsou to ty nejpoužívanější. V tomto příspěvku uvedeme jejich příklad použití.

Příklad 1: Převod data na řetězec

V tomto příkladu zadáme cílové datum jako náš výraz a určíme, jaký formát jej převést. Následující výstup ukazuje, jak převedeme „2023-11-29“ na čitelnější a srozumitelnější řetězec:

Příklad 2: Práce s aktuálním datem

V PostgreSQL vám CURRENT_DATE poskytuje datum pro daný den.

Předpokládejme, že jej chceme převést na řetězec. Potřebujeme pouze použít CURRENT_DATE jako náš výraz a poté určit náš formát. Nyní získáte aktuální datum jako řetězec.

Přesto můžete změnit formát na jiný, abyste splnili svůj cíl. Pokud například chceme zobrazit pouze datum, měsíc a rok, vyladíme náš příkaz následovně:

Krása TO_CHAR() spočívá v tom, že můžete kombinovat různé formáty a vytvořit ten konečný, který chcete použít pro své rande. Pojďme dál a pracujme s časovými razítky.

Příklad 3: Práce s časovým razítkem

Dosud jsme pracovali pouze s daty. Pokud však vaše datum obsahuje čas, můžete čas extrahovat zadáním jeho ideálního formátu.

Zde je příklad, kdy určíme získání času ve 24hodinovém formátu z poskytnutého časového razítka, přičemž datum vynecháme:

Pro 12hodinový formát času používáme HH12 místo HH24. Podívejte se na následující příklad:

A konečně, pokud chceme extrahovat datum a čas z poskytnutého časového razítka, musíme přidat pouze ideální formát, který chceme použít. Zde určíme čas pomocí HH12:MI:SS a přidáme oddělovač. Dále určíme, že se má jako datum použít „dd, měsíc, yyyy“.

Náš konečný výstup je následující:

Příklad 4: Práce s tabulkou

Všechny formáty, které jsme probrali a zmínili, lze aplikovat na tabulku PostgreSQL. Pro tento příklad máme tabulku s názvem „objednávky“, která obsahuje sloupec „datum“. Chcete-li z něj vybrat prvky a použít TO_CHAR() pro sloupec „datum“, provedeme náš příkaz, jak je znázorněno na následujícím obrázku:

Můžete použít jakýkoli formát, který chcete. Zde je stejný příkaz, ale s jiným formátem data:

Pokud chceme ve sloupci data zobrazit pouze den v týdnu a měsíc, vyladíme příkaz takto:

Neváhejte určit jakýkoli ideální formát, se kterým chcete pro svůj případ pracovat.

Závěr

TO_CHAR() je užitečná funkce PostgreSQL, která uživatelům umožňuje převádět časová razítka a další literály na řetězce. Tento příspěvek ukazuje různé způsoby, jak můžete použít TO_CHAR() pro data. Poskytli jsme různé příklady, abychom zajistili, že obsah rychle pochopíte. Doufejme, že TO_CHAR() už vás nebude trápit.