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 :

Comparer des champs smalldatetime


Sujet :

Langage SQL

  1. #1
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut Comparer des champs smalldatetime
    Bonjour je voudrai savoir si cela est possible et si oui comment ?

    J'ai essayé avec les opérateurs de comparaison < et > mais il n'a pas l'air d'apprécier.

    Merci

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 274
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 274
    Points : 1 280
    Points
    1 280
    Par défaut
    tu es sous quel SGBD ? tu as une erreur ? si oui lequel ??
    j'suis vert !

  3. #3
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut
    Je suis sous sql server 2003.

    Quand j'essaye avec cette methode il me dis qu'il ne peu pas convertir la chaine en int

  4. #4
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 274
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 274
    Points : 1 280
    Points
    1 280
    Par défaut
    et si tu fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT ... FROM ... WHERE CHAMP_DATE > CONVERT(DATETIME,'12/12/2005 14:00',103) AND CHAMP_DATE < CONVERT(DATETIME,'17/12/2005 14:00',103)
    j'suis vert !

  5. #5
    Membre régulier Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Points : 90
    Points
    90
    Par défaut
    j'ai essayé avec ta methode :

    select HIST_ENTITE, HIST_ID_VIREMENT, HIST_CREDIT, HIST_DATE_VIREMENT, HIST_TIERS from HIST_VIREMENT where HIST_TIERS = 'F1688' AND HIST_DATE_VIREMENT >= CONVERT(DATETIME, '0000-00-00 00:00:00', 102) and HIST_DATE_VIREMENT <= CONVERT(DATETIME, '0000-00-00 00:00:00', 102) ORDER BY 1

    Microsoft OLE DB Provider for SQL Server error '80040e07'

    La conversion d'un type de données CHAR en type DATETIME a donné une valeur hors des limites des valeurs de date et d'heure.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    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 770
    Points : 52 726
    Points
    52 726
    Billets dans le blog
    5
    Par défaut
    C'est normal, vos dates doivent être encodées TELLE QUE LA NORME SQL le définit donc, le format ISO de date est :
    AAAAMMJJ HH:MM
    etc...
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select HIST_ENTITE, HIST_ID_VIREMENT, 
           HIST_CREDIT, HIST_DATE_VIREMENT, HIST_TIERS 
    from   HIST_VIREMENT 
    where  HIST_TIERS = 'F1688' 
      AND  HIST_DATE_VIREMENT >= '20050124 00:00:00' 
      and  HIST_DATE_VIREMENT <= '20051231 00:00:00'
    ORDER  BY 1
    Si vous voulez utiliser un format exotique il faut paramétrer votre session avec SET DATEFORMAT

    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/ * * * * *

Discussions similaires

  1. Comparer des champs dans un tableau
    Par Tomislav dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/12/2007, 09h26
  2. Comparer des champs de base
    Par supersoft5 dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/05/2007, 22h48
  3. comparer des champs texte
    Par moicats dans le forum Access
    Réponses: 2
    Dernier message: 12/02/2007, 14h37
  4. Comparer des champs
    Par nicoreims dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/06/2006, 21h22
  5. comparer des champs date time
    Par HULK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 14h02

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