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 :

probleme de conversion char en smalldatime


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut probleme de conversion char en smalldatime
    je vais essayer d'expliquer le plus clairement mon problème

    je fait des aquisitions de données sur un serveur
    l'heure est sous la forme

    JJ/MM/AAAA HH:MM:SS
    on affiche le résultat sous d'un tableau(site fait en asp et c#)
    et chaque tableau à sa propre adresse url en fonction de la date d'acquisition

    l'adresse url qui est générée est la suivante
    http...webnetbackup-exp/details.aspx?type=CINC(4)&date=12%2f18%2f2006+2%3a41%3a00+PM

    le code asp est le suivant
    <asp:Hyperlink runat="server" Text='<%# ((System.Data.DataRowView)Container.DataItem)["Type"] %>' NavigateUrl='<%# "details.aspx?type=" + Server.UrlEncode(((System.Data.DataRowView)Container.DataItem)["Type"].ToString()) + "&date=" + Server.UrlEncode(((System.Data.DataRowView)Container.DataItem)["Date_Acquisition"].ToString())%>' ID="Hyperlink1" NAME="Hyperlink1" Target="_blank"/>
    la requete sql est la suivante
    string req = "SELECT Date_log AS 'Date_Acquisition', Type, SUM(Volumetrie) AS 'Volumetrie', SUM(NB_fichier) AS 'Nb fichiers' FROM NETBACKUP_TEMPS_SAUVEGARDE_Q GROUP BY Type, Date_log ORDER BY Date_log DESC, Type";
    mais mon problème est qu'il faut que j'inverse le jours et le mois dans l'adresse url et la ma page marche
    mais je ne sais pas comment faire

    je pense à faire un "INSERT INTO" mais je ne suis pas sur

    merci d'avance

  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 850
    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 850
    Points : 52 984
    Points
    52 984
    Billets dans le blog
    6
    Par défaut
    Lisez l'article que nous avons écrit à ce sujet et utiliser le flag de session DATEFORMAT :
    http://baptiste-wicht.developpez.com...-sql/datetime/

    A +

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    SET DATEFORMAT MYD

    SELECT CAST('03/1987/21' AS DATETIME)
    est-ce que le DATETIME correspond à un champ d'une table?

  4. #4
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Je m'insère pour une remarque : attention à SET DATEFORMAT dans les procédures : recompilations assurées.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par rudib
    Je m'insère pour une remarque : attention à SET DATEFORMAT dans les procédures : recompilations assurées.
    peux-tu préciser ce que tu veux dire avec recompilations assurées

  6. #6
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Recompilation de la procédure, dû au changement de contexte. Un peu de doc ici : http://www.microsoft.com/france/tech...ation_sql.mspx

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Peut-être en utilisant l'instruction convert.
    Voici un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    declare @date varchar(12)
    set @date='23/02/2007'
    print convert(varchar(12),cast(@date as datetime),101)
    Attention, le cast en datetime ne fonctionne pas avec les valeurs vide ou NULL.
    Résultat: 02/23/2007

    J'espère que ça t'aidera.

    Bonne chance pour la suite.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    c'est bon le problème a été résolu avec l'utilisation d'un


    SELECT CONVERT
    merci d'avance

    je vous recontacterai si j'ai d'autre souci

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

Discussions similaires

  1. Probleme de conversion de dates
    Par manu00 dans le forum Langage
    Réponses: 4
    Dernier message: 29/05/2005, 00h00
  2. Pb Invalid Conversion "char" to "char*"
    Par kazarn dans le forum C++
    Réponses: 3
    Dernier message: 02/03/2005, 13h24
  3. Conversion char * vers wchar_t
    Par Zapan dans le forum C++
    Réponses: 4
    Dernier message: 24/02/2005, 15h56
  4. Réponses: 3
    Dernier message: 26/05/2004, 23h03
  5. [Math][Integer] Problème de conversion
    Par deathwing dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/05/2004, 17h01

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