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 de date "personnalisé"


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Format de date "personnalisé"
    Bonjour,

    Lors de mon Select, je transforme un varchar en date mm/jj/aa hh:mm:ss de la façon suivante:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    convert(varchar,concat(convert(varchar,cast(left(DATE_FIN_LIVRAISON,10) as date),1),' 00:00:00'),22)


    Le résultat dans MS-SQL semble être bon:

    DATE_FIN_LIVRAISON
    08/31/20 00:00:00
    09/10/20 00:00:00
    09/11/20 00:00:00
    09/13/20 00:00:00

    mais lors de la conversion en .csv c'est la cata...

    08/31/20 00:00:00
    09-10-2020 00:00:00
    09-11-2020 00:00:00
    09/13/20 00:00:00


    Je ne comprends pas pourquoi le .csv transforme correctement certaines dates et d'autres non.
    Je sais que le format mm/jj/aa hh:mm:ss n'existe pas vraiment en MS-SQL (le format se rapprochant le plus étant le #22: mm/jj/aa hh:mm:ss AM/PM)
    mais existe-t-il un moyen fiable de faire cette transformation quand même?

    Merci d'avance!!

  2. #2
    Rédacteur

    Tout dépend comment vous exportez ! En général en laissant faire l'export naturellement, c'est à dire en respectant les types de données, autrement dit sans faire aucune transformation littérales, la création du fichier CSV est parfaite !
    Utilisez pour cela l'assistant d'exportation.

    Sinon, vous pouvez utiliser un CONVERT avec le bon paramétrage ou bien la fonction FORMAT.
    par exemple :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    CONVERT(CHAR(8), MaDate, 22) + ' 00:00:00'


    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  3. #3
    Membre à l'essai
    précision
    Bonjour,

    Merci pour votre réponse rapide.

    votre solution ne fonctionne pas et c'est ma faute, j'ai oublié de dire que la date est initialement de ce type : varchar(20)

    et elle apparaît ainsi:

    2020-09-10 14:00:00

  4. #4
    Rédacteur

    Dans ce cas :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    CONVERT(CHAR(8), CAST(MaDate AS DATE), 22) + ' 00:00:00'


    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

###raw>template_hook.ano_emploi###