IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Format d'une date d'un champ datetime


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Format d'une date d'un champ datetime
    Bonjour,


    J'ai deux tables avec des champs datetime. En affichant les tables dans SQL Management Studio la 1ère table affiche la date avec le format yyyy-mm-dd et la 2e table affiche le format yyyy-dd-mm.
    Comment faire pour afficher correctement les dates dans les deux tables? Le problème est que le format est répercuté aussi dans Access quand je lie ces tables.

    bav

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    La notion de format de date n'existe pas en SQL. Une date est un type de données un point c'est tout.

    Êtes vous sûr que c'est bien le type DATETIME ? Moi je n'y croit pas !

    Lancez la requête suivante qui vous donnera le type de chaque colonne dans la base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TABLE_SCHEMA, TABLE_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
    FROM   INFORMATION_SCHEMA.COLUMNS
    WHERE  TABLE_NAME = '???'
    Remplacez ??? par le nom de la table.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Oui mes colonnes sont bien de type datetime après vérification.

    On dirait que pendant l'import de access vers SQL il y ait eu un problème sur une table.

    En effet toutes les autres tables dans SQL sont au format US, sauf une ou l'année et le mois sont inversés!

    J'ai pu le vérifier dans acces en changeant le format du champ en mode design de la table je doit choisir mm/dd/yyyy pour qu'access m'affiche le format correct en dd/mm/yyyy dans mes contrôles.

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    bonjour
    j'ai le même problème

    je suis en train de transfére une base access dans du sql serveur et moi j'ai toute mes date au format datetime2(0) j'ai utiliser Microsoft sql serveur migration accistant for access pour testé mon transfert. Tu as utilisé quoi toi?

    du coup j'ai tous mes champ date au format datetime2(0)

    j'ai commandé a les basculé au format date avec cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE ma_table ALTER COLUMN ma_colonne DATE;
    par contre du coup dans access me date sont AAAA-MM-JJ ( voir ci-joint)

    mes questions
    comment évite lors de mon transfert d'access vers sql que mes champ soit au format datetime2(0) ?
    comme faire dans access pour utilise les date au format normal JJ-mm-AA ?

    Merci a vous
    Images attachées Images attachées  

  5. #5
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Salut j'ai également utilisé l'assistant de Access pour exporter la base dans SQL.
    Ici en l'occurence pour une table j'ai fait clic droit puis exporter - Base de Donnees ODBC.

    Ce que tu peux faire c'est de vider ta table sur SQL, puis changer le format du champ a la valeur souhaitée, puis la réimporter depuis acess.

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    salut

    merci pour ta réponse j'ai pu change la format de ma table. par contre dans access les date remonte toujours sous ce format la AAAA-MM-JJ comment je peux modifier l'affichage dans mes formulaire de saisie et en visuel?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    ta table avait le bon format quand tu l'as éxporté depuis access dans SQL?
    SQL Management Studio affiche-il le bon format?
    Tes régional settings dans Windows sont-ils dans le format que tu t'attends dans access?

    si c'est le cas ta table lié devrait afficher elle aussi le bon format dans access.

    Sinon vérifies que tu as pas mis un format custom dans les propriétés de ton champ en mode creation de table et sinon essayes de change le format en "jj/mm/aaaa"

  8. #8
    Débutant  
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 745
    Points : 202
    Points
    202
    Par défaut
    salut

    merci pour tes réponse

    alors mon tes question :
    ta table avait le bon format quand tu l'as éxporté depuis access dans SQL? oui au bon format

    SQL Management Studio affiche-il le bon format? non format anglais et pourtant dans réginnal je suis bien en francais. j'ai regardé sur une autre base "SAGE" que j'ai sur le serveur de ma boite et les dates on le même format
    Tes régional settings dans Windows sont-ils dans le format que tu t'attends dans access? oui en francais

    Sinon vérifies que tu as pas mis un format custom dans les propriétés de ton champ en mode creation de table et sinon essayes de change le format en "jj/mm/aaaa"
    tu peux m'expliqué comment faire un format custom?

    merci a toi

  9. #9
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    J'ai eu le même soucis que toi j'avais le bon format dans access et ensuite en l'éxportant dans SQL la date s'affichait en format anglais.
    Comme SQLPro a dit plus haut coté SQL server il n'y a pas de notion de format pour la date, donc ta table a du mal s'importer dans SQL.
    Dans ce cas, changer le format de la table en mode design ne résoudras pas le problème d'ailleurs c'est en essayant cela que je me suis apercu que l'export/import avait mal tournée car accès inversait jour et mois.

    Si tu veux essayer de changer le format sa se passe ici:

    Nom : Capture.PNG
Affichages : 1091
Taille : 3,4 Ko

Discussions similaires

  1. [Débutant] Format d une date dateTime
    Par lebfar dans le forum C#
    Réponses: 20
    Dernier message: 08/01/2015, 21h57
  2. Réponses: 4
    Dernier message: 11/12/2009, 16h50
  3. Comment fait-on pour insérer une date dans un champs DateTime
    Par gibea00 dans le forum Accès aux données
    Réponses: 1
    Dernier message: 14/01/2007, 01h04
  4. Comment fixer une date dans un champ !
    Par LATHIOS dans le forum Access
    Réponses: 8
    Dernier message: 17/06/2005, 19h44
  5. Réponses: 3
    Dernier message: 23/09/2003, 09h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo