logo

Comment spécifier un format de date lors de la création d'une table et la remplir en SQL ?

Chaque fois que nous travaillons avec des bases de données, nous constatons que presque chaque table contient une colonne Date. Après tout, la date des données joue un rôle important lors de leur analyse. Stocker les dates dans un format spécifique ou compréhensible est très important. Dans cet article, nous allons apprendre comment spécifier un format de date sur SQL Server.

Créons notre base de données et notre table de démonstration.



python __dict__

Étape 1: Créer une base de données

Utilisez la commande suivante pour créer une base de données.

Requête:



CREATE DATABASE User_details;>

Étape 2: Utiliser la base de données

Requête:

USE User_details;>

Étape 3: Définition du tableau



Nous avons la table GFG_user suivante dans la base de données.

Requête:

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

Sortir:

Ici, nous avons créé une colonne nommée Dt_FORMATTED où nous allons enregistrer notre date formatée.

Maintenant, nous voyons le CONVERTIR() fonction. La fonction CONVERT() convertit simplement une valeur de n'importe quel type en un type de données spécifié.

Syntaxe:

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

En utilisant cette fonction, nous convertissons la chaîne en une date. À la place de l'argument de style, nous avons mentionné '104' . Il s'agit d'un code numérique pour spécifier le format de date.

Consultez ce tableau pour voir les différents codes utilisés pour différents formats :

Avec siècle

(aa)

Avec siècle

(aaaa)

Standard

Entrée sortie

0 ou 100 (1.2)

Valeur par défaut pour datetime

et petite date et heure

lundi jj aaa hh :

miAM (ou PM)

1 101 NOUS.

1 = mm/jj/aa

101 = mm/jj/aaaa

2 102 ANSI

2 = aa.mm.jj

102 = aaaa.mm.jj

3 103 Britannique/Français

3 = jj/mm/aa

103 = jj/mm/aaaa

4 104 Allemand

4 = jj.mm.aa

104 = jj.mm.aaaa

onze 111 JAPON

11 = aa/mm/jj

111 = aaaa/mm/jj

12 112 OIN

12 = jmmj

112 = aaaammjj

13 ou 113 (1.2) Europe par défaut + millisecondes jj lun aaaa hh:mi:ss:mmm (24h)
131 (2) Hijri (5) jj/mm/aaaa hh:mi:ss:mmmAM

Ici, nous n’avons évoqué que les 10 formats les plus utilisés.

Étape 4: Insérer des valeurs

La commande suivante est utilisée pour insérer des valeurs dans le tableau.

table ascii java

Requête:

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

Dans cette requête, nous utilisons le FORMAT DE DATE paramètre.

Syntaxe:

SET DATEFORMAT format>

Lorsque nous insérons la chaîne, le serveur essaiera de convertir la chaîne en date avant de l'insérer dans la table. Comme il ne peut pas dire si nous mettons le mois avant la date ou la date avant le mois. Par exemple, supposons que vous essayiez d'insérer 06.07.2000. Le serveur n'est pas en mesure de détecter si la date est le 6 juillet ou le 7 juin. Bien qu'il utilise les paramètres de localisation du compte utilisateur en cours d'exécution pour comprendre que ne pas mentionner le DATEFORMAT peut vous donner une erreur car la plupart du temps, le compte qui exécute l'opération est défini au format USA, c'est-à-dire - Mois Jour Année (mdy) .

L'erreur est due au fait que nous voulions l'enregistrer sous dmy , pas mdy . Cependant, utiliser DATEFORMAT vous aidera à vous en débarrasser.

Sortir:

Nous en avons terminé avec notre table, vérifions maintenant si nous obtenons le résultat souhaité ou non.

Étape 5 : Afficher les données du tableau

Requête:

SELECT * FROM GFG_user;>

Sortir:

Nous avons réussi à obtenir notre date au format allemand dans la colonne Dt_FORMATTED.

Une autre approche pour insérer la date dans la base de données :

Nous pouvons également insérer une date en utilisant la fonction 'to_date' dans SQL. La syntaxe suivante peut être utilisée :

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

Le format de la date peut être de différents types tels que : 'jj-mm-aaaa' , 'aaaa-mm-jj' , 'mm-jj-aaaa' .

Exemple:

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;>

commandes SQL

Sortir:

Sortir