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

Langage SQL Discussion :

[Sql Server] Fusion d'une date et d'une heure


Sujet :

Langage SQL

  1. #1
    Invité
    Invité(e)
    Par défaut [Sql Server] Fusion d'une date et d'une heure
    Bonjour,

    J'utilise MS SQL.

    J'ai une table 'TDonnees' avec 2 colonnes :
    - 1 colonne n°1 'cDate' avec une date dont les heures, minutes, secondes sont à zéro.
    Par exemple : 03/05/2005 00:00:00

    - 1 colonne n°2 'cHeures' avec des heures. Par exemple : 15, 21, 5

    Dans une autre table, je voudrais réunir les colonnes 1 et 2 en une seule.
    Par exemple : 03/05/2005 15:00:00

    C'est possible ?
    On peut écrire quelque chose comme "Select convert(cast(cHeures as float ) + cast(cDate as float), 121) From TDonnees" ?
    Dernière modification par Xo ; 07/09/2006 à 13h31.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je sais qu'il existe des fonctions d'extractions de date notamment sous ORACLE telles que TO_CHAR qui pourraient peut être répondre à te demande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TO_CHAR(ol_datlim, 'DD')||'/'||TO_CHAR(ol_dateok,'MM/YY')
    FROM ...
    Pour info personnelle : c'est quoi
    MS SQL
    ?
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  3. #3
    Invité
    Invité(e)
    Par défaut MS SQL
    Effectivement, MS SQL ça n'est pas du tout ce que j'utilise !

    J'utilise SQL SERVER 2000 et le langage s'appelle TRANSACT SQL.

    Merci pour ce premier élément de réponse, je vais essayer de concaténer les champs comme tu le proposes, Magnus.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    OK. Ton SGBD est Microsoft SQL Server 2000 donc les fonctions que je proposais ne fonctionneront pas.

    Par contre, sous SQL Server, tu disposes des fonctions DATEPART, DAY, MONTH, etc. (cf http://sql.developpez.com/sqlaz/fonctions/#L1.7) qui devraient te permettre de faire ce que tu souhaites.

    Dis moi si ça marche.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  5. #5
    Invité
    Invité(e)
    Par défaut Soluce
    C'est bon, j'ai trouvé !

    Le code suivant fonctionne très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT	CONVERT(DateTime,	
    						DATENAME(dd, localdate) + '/' +
    						DATENAME(mm, localdate) + '/' +
    						DATENAME(yy, localdate) + ' ' + 
    						DATENAME(hh, localdate) + ':00:00') as date, 
    			autres valeurs...
    Merci !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/02/2008, 18h09
  2. [SQL] Ajouter une durée à une date et obtenir une date valide
    Par bigltnt dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/06/2007, 14h55
  3. [Débutant] Calcul d'une date à partir d'une date de départ et d'une durée
    Par Marmotton76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/04/2007, 10h39
  4. Réponses: 2
    Dernier message: 21/03/2007, 16h06
  5. Réponses: 14
    Dernier message: 09/01/2007, 16h19

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