logo

Jak určit formát data při vytváření tabulky a vyplnit ji v SQL?

Kdykoli pracujeme s databázemi, zjistíme, že téměř každá jednotlivá tabulka obsahuje sloupec Datum. Koneckonců, datum dat hraje důležitou roli při jejich analýze. Ukládání dat ve specifickém nebo srozumitelném formátu je velmi důležité. V tomto článku se naučíme, jak můžeme určit formát data na serveru SQL.

Pojďme vytvořit naši demo databázi a tabulku.



Krok 1: Vytvořte databázi

K vytvoření databáze použijte následující příkaz.

Dotaz:



CREATE DATABASE User_details;>

Krok 2: Použijte databázi

Dotaz:

USE User_details;>

Krok 3: Definice tabulky



V databázi máme následující tabulku GFG_user.

Dotaz:

CREATE TABLE GFG_user(Id INT NOT NULL,Dt DATE, Address VARCHAR(100),Dt_FORMATTED AS (convert(varchar(255), dt, 104)), PRIMARY KEY (Id) );>

Výstup:

číslo na řetězec java

Zde jsme vytvořili sloupec s názvem Dt_FORMATTED, kam uložíme naše naformátované datum.

Nyní vidíme KONVERTOVAT() funkce. Funkce CONVERT() jednoduše převede hodnotu libovolného typu na určený datový typ.

Syntax:

CONVERT ( data_type ( length ) , expression , style )>

Pomocí této funkce přetypujeme řetězec na datum. Na místě argumentu stylu jsme se zmínili '104' . Jedná se o číselný kód pro určení formátu data.

V této tabulce naleznete různé kódy používané pro různé formáty:

Se stoletím

(yy)

Se stoletím

(yyyy)

Standard

Vstup výstup

0 nebo 100 (1.2)

Výchozí pro datum a čas

a malé datum a čas

po dd yyy hh:

miAM (nebo PM)

1 101 NÁS.

1 = mm/dd/rr

101 = mm/dd/rrrr

2 102 ANSI

2 = rr.mm.dd

102 = rrrr.mm.dd

3 103 Britská/francouzská

3 = dd/mm/rr

103 = dd/mm/rrrr

4 104 Němec

4 = dd.mm.rr

104 = dd.mm.rrrr

jedenáct 111 JAPONSKO

11 = rr/mm/dd

111 = rrrr/mm/dd

12 112 ISO

12 = ymmdd

112 = rrrrmmdd

java cast int do řetězce
13 nebo 113 (1.2) Evropa výchozí + milisekundy dd mon yyyy hh:mi:ss:mmm (24h)
131 (2) hidžra (5) dd/mm/rrrr hh:mi:ss:mmmAM

Zde jsme uvedli pouze 10 nejpoužívanějších formátů.

Krok 4: Vložte hodnoty

Následující příkaz slouží k vložení hodnot do tabulky.

Dotaz:

SET DATEFORMAT dmy; INSERT INTO GFG_user (Id, Dt, Address) VALUES ('1','23.11.2021', 'German');>

V tomto dotazu používáme a DATOVÝ FORMÁT nastavení.

Syntax:

SET DATEFORMAT format>

Když vkládáme řetězec, server se pokusí převést řetězec na datum, než jej vloží do tabulky. Protože nedokáže určit, zda dáváme měsíc před datum nebo datum před měsícem. Předpokládejme například, že se pokoušíte vložit 06.07.2000. Server nedokáže zjistit, zda je datum 6. července nebo 7. června. Ačkoli používá nastavení lokalizace uživatelského účtu, který je v provozu, aby zjistil, že neuvedení FORMÁTU DATE vám může způsobit chybu, protože ve většině případů je účet, na kterém je operace spuštěna, nastaven na formát USA, tj. Měsíc Den Rok (mdy) .

Chyba byla způsobena, protože jsme ji chtěli uložit jako dmy , ne mdy . Použití DATEFORMAT vám však pomůže se toho zbavit.

Výstup:

S naší tabulkou jsme hotovi, nyní zkontrolujeme, zda dostáváme požadovaný výstup nebo ne.

Krok 5: Zobrazit data tabulky

Dotaz:

SELECT * FROM GFG_user;>

Výstup:

Úspěšně jsme získali náš německý formát Datum ve sloupci Dt_FORMATTED.

Další způsob vložení data do databáze:

Můžeme také vložit datum pomocí funkce „to_date“ v sql. Lze použít následující syntaxi:

TO_DATE([value], [format]);>

Formát data může být různých typů, například: 'dd-mm-yyyy' , 'yyyy-mm-dd' , „mm-dd-yyyy“ .

Příklad:

typy smyček java for
CREATE TABLE GFG_INTERN (e_name VARCHAR(20), e_id number, joiningDate date); INSERT INTO GFG_INTERN VALUES ('FirstIntern', 001, to_date('2022-12-12','yyyy-mm-dd')); INSERT INTO GFG_INTERN VALUES ('SecondIntern', 002, to_date('2022-Dec-12','yyyy-mm-dd')); INSERT INTO GFG_INTERN VALUES ('ThirdIntern', 003, to_date('30-12-2022','dd-mm-yyyy')); INSERT INTO GFG_INTERN VALUES ('FourthIntern', 004, to_date('12-31-2022','mm-dd-yyyy')); SELECT * FROM GFG_INTERN;>

sql příkazy

Výstup:

Výstup