SQL: comment spécifier le format de date sur la création de la table et de le remplir
Je veux enregistrer la date dans le format 'jj.mm.aaaa". J'ai donc lu il y a différents formats de date en SQL (par la façon dont j'utilise Visual Studio et SQL Server).
I tried this code:
CREATE TABLE APP(
ID INT NOT NULL,
DT DATE FORMAT 'dd.mm.yyyy',
ADDRESS NVARCHAR (100) ,
PRIMARY KEY (ID)
);
Mais elle renvoie l'erreur:
Syntaxe incorrecte près de 'FORMAT'.
Après que je voudrais utiliser ce code:
INSERT INTO APP (ID, DT)
VALUES ('1','22.12.2016')
- w3schools.com/sql/func_sqlserver_convert.asp
- DateTime est le type de valeur comme un nombre entier. vous ne pouvez pas lui donner toute mise en forme. Vous avez besoin de formater tout en le lisant.
- Stockez simplement vos dates à l'aide d'un type de date, et l'inquiétude sur le formatage visuel plus tard à l'aide de quelque chose comme
CONVERT
. Ne stockez pas vos dates sous forme de texte. - Juste une pensée, mais l'exemple que vous donnez '12.22.2016' est pas dans le format que l'erreur de définition de la table est de donner 'dd.mm.aaaa " (il y a seulement 12 mois pas 22). De quoi avez-vous réellement envie d'approvisionnement dans l'instruction insert états-unis format ou allemand format?
- vous avez raison! Merci!!!! C'est l'allemand format, manque juste a cliqué.
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de spécifier le format de la définition de la table que les dates sont stockées dans un format binaire.
Lorsque vous essayez d'insérer dans la table toutefois, le serveur va essayer de convertir la chaîne de caractères à une date avant de l'insérer. Cela peut être problématique, car il est incapable de dire si 12.11.2017 est le 12 novembre ou le 11 décembre. Pour comprendre cela, il utilise les paramètres de localisation du compte d'utilisateur qui effectue l'opération.
Souvent, vous trouverez que le compte qui exécute l'opération est installée aux USA format, mois, jour, année (MDY), quand ce que vous voulez, c'est jour mois année (JMA) format. Une façon de dire ce que la séquence de la date de parties est d'utiliser l' DATEFORMAT paramètre comme ceci:
Une autre alternative est de convertir la chaîne de caractères à une date à l'aide de la CONVERTIR de la fonction et de dire ce que le format de la date. Les formats ont des codes numériques comme 104 pour l'allemand format Comme ceci:
Dates sont stockées dans un format interne. Formats n'ont de sens que pour l'entrée et la sortie.
Dans votre cas, vous souhaitez que la date dans une allemande format (104), de sorte que vous pouvez utiliser:
Si vous le souhaitez, vous pouvez inclure le format date dans une colonne distincte:
Vous pouvez vous référer à
dt_formatted
pour obtenir la chaîne de caractères dans le format que vous voulez.INSERT INTO APP (ID, DT) VALUES ('1','22.12.2016')
? À l'aide de l'allemand formatson réglage par défaut est aaaa-MM-jj
Non, il n'est pas. Il n'y a pas de mise en forme de l'information à tous les associés avec le champ.
La valeur n'est pas formaté par la base de données, il est retourné comme un point dans le temps. La mise en forme de la valeur, en représentation textuelle se fait par l'application reposant qui est de l'obtention des données de la base de données.
Donc, il n'y a rien que vous pouvez faire dans la base de données pour modifier la façon dont la valeur de date est formaté, vous avez à changer que lorsque les données sont affichées.
utiliser cette
Dates sont stockées dans un format interne.
Formats n'ont de sens que pour l'entrée et la sortie.
Vous pouvez inclure le format date dans une colonne distincte:
SQL Server prend en charge le format de la date, Vous devez utiliser le ci-dessous le format de date
Avec le siècle (aaaa) | Standard | Entrée/de Sortie
De l'utiliser.
CREATE TABLE:
INSERTION DANS LA TABLE:
O/P DU TABLEAU CI-DESSUS:
EID ENAME DT SAL
01 ABCDE 11-DÉC-11 10000