sql >> Databáze >  >> RDS >> Oracle

Přidejte Ordinal Indicator k datu v Oracle

V databázi Oracle můžeme použít TH formátovací prvek pro přidání přípony pořadového čísla k výsledku TO_CHAR() operace při formátování dat.

Například místo výstupu 10 Feb mohli bychom vypsat 10th Feb . Nebo místo výstupu 21 century , můžeme vytvořit výstup 21 century . Totéž platí pro komponenty hláskovaného data. Například místo Twenty One , můžeme vytvořit výstup Twenty First .

Příklad

Zde je příklad k demonstraci:

SELECT TO_CHAR(DATE '2030-12-01', 'Ddth Month')
FROM DUAL;

Výsledek:

01st December

Můžeme použít fm modifikátor formátu pro odstranění úvodní nuly, pokud je to nutné:

SELECT TO_CHAR(DATE '2030-12-01', 'fmDdth Month')
FROM DUAL;

Výsledek:

01st December

Všimněte si, že velká písmena v pořadovém čísle je určena příslušným prvkem formátu (v tomto případě Dd část), ne TH přípona.

Zde je to, co se stane, když změníme druhý d na velká písmena:

SELECT TO_CHAR(DATE '2030-12-01', 'fmDDth Month')
FROM DUAL;

Výsledek:

01st December

Takže i když jsme poskytli th přípona malá, na výsledek to nemělo žádný vliv. Velká písmena byla určena prvkem format (nezahrnuje fm modifikátor formátu).

Pořadové číslo můžeme také přidat při vracení jiných komponent data, jako je století:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccth "Century"')
FROM DUAL;

Výsledek:

21st Century

Hláskovaná data

Můžeme přidat SP formát, aby byla část data uvedena:

SELECT TO_CHAR(DATE '2030-12-30', 'CCTHSP "Century"')
FROM DUAL;

Výsledek:

TWENTY-FIRST Century

A můžeme použít velká písmena podle potřeby:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccthsp "Century"')
FROM DUAL;

Výsledek:

21st Century

Co se stane, když vynecháme TH specifikátor formátu:

SELECT TO_CHAR(DATE '2030-12-30', 'Ccsp')
FROM DUAL;

Výsledek:

Twenty-One

  1. Kolik uživatelů má přístup k podpoře?

  2. Porovnání období

  3. Kdy/proč používat kaskádování v SQL Server?

  4. chybí položka klauzule FROM pro tabulku Grupo cakephp