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

MS SQL Server Discussion :

Convert de nvarchar vers Datetime, OVERFLOW


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Convert de nvarchar vers Datetime, OVERFLOW
    Salut,

    Alors voici mon probleme, j'ai une table TFACTOP8 ayant une colonne Date_fact dont le datatype est de type nvarchar. Les données contenues sont du style '2/01/06' ou '12/01/06'

    J'aimerais convertir cette colonne en datetime ou smaldatetime car lorsque je lance une requete du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * from TFACTOP8 where date_fact > '01/01/06' and date_fact > '31/12/06'
    et bien forcement ca ne fonctionne pas.

    Alors j'ai essaye via enterprise manager et le design table de transformer Date_fact en datetime mais j'ai un message qui dit overflow (pourtant j'ai bien verifie que toutes mes données etaient du type 01/01/06)

    j'ai essaye des trucs du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE TFACTOP8
    ALTER COLUMN date_fact DATETIME NOT NULL
    J'ai a chaque foi le meme message d'erreur, c-a-d "arithmetic overflow error converting expression to data type datetime"

    Donc je me demandais s'il etait possible de passer de nvarchar a datetime ou smaldatetime?

    rq:

    convert(timestamp, date_Fact)
    convert(datetime, date_Fact)
    cast(date_fact as datetime)

    C'est pareil, overflow

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Bon j'ai trouve d'ou venait mon probleme....

    Date_fact etait code comme suis : DD/MM/YY et pour que la conversion s'effectue il fallait que cela soit comme ceci : MM/DD/YY

    donc j'ai donc tout d'abord lance cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE    dbo.TFACTOP8
    SET              DATE_FACT = SUBSTRING(DATE_FACT, PATINDEX('%/%', DATE_FACT) + 1, 2) + '/' + SUBSTRING(DATE_FACT, 1, PATINDEX('%/%', DATE_FACT) - 1) 
                          + SUBSTRING(DATE_FACT, LEN(DATE_FACT) - 2, LEN(DATE_FACT))
    Puis seulement apres j'ai fait ma correction et maintenant ca fonctionne.

    J'espere que cela pourra servir a quelqu'un

    bonne journee a tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2012] Error converting data type nvarchar to datetime
    Par eddyphan dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 21/11/2013, 13h39
  2. Convertion d'entier vers une base et vice versa.
    Par Ptit_Dje dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 04/09/2007, 10h14
  3. Probléme de conversion char vers datetime
    Par locs dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 28/02/2007, 15h29
  4. Convertion Access 2 vers Acces 2000
    Par cathar_rhythm dans le forum Access
    Réponses: 3
    Dernier message: 26/09/2006, 09h50
  5. [C#] Convertion de structure vers Delphi .NET
    Par Laurent Dardenne dans le forum Windows Forms
    Réponses: 21
    Dernier message: 08/01/2005, 02h36

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