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

Oracle Discussion :

[8i] code + soustraction de variable


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut [8i] code + soustraction de variable
    bonjour à tous!

    je souhaiterais faire la soustraction de 2 champs (heurearriv et heuredepa) mais ça ne marche pas des masses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     "<b>".$date2 = date("d-m-y");
     
    $soustrait = "update demande set duree = ('".$heuredepa."' - '".$heurearriv."') where jour = '".$date2."' and id_salarie = '".$id_salarie."'";

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Désolé,
    Requete SQL:
    update demande set duree = ('13:38' - '13:35') where jour = '09-02-06' and id_salarie = '39'
    Exécution non effectuée
    l'erreur est : "invalid number"

    :

    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut
    j'ai cru voir que l'on pouvait utiliser un "to_date"...

    alors si j'ai bien compris je pourrais l'utiliser comme suit, dans ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    to_date ('".$heuredepa."', hh24:mi) - to_date('".$heurearriv."',hh24:mi)
    :

  3. #3
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    ben c'est normal, pour oracle '13:18', c'est la chaine de caractère '13:18', tu pourrait mettre 'azerty' et 'qwerty' et lui demander de soustraire...
    Saura pas.


    PS : Si jamais ton champ duree est un champ de type DATE....

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $soustrait = "update demande set duree = to_date(' ".$heuredepa." ', 'HH24:MI') - to_date('".$heurearriv."', 'HH24:MI') where jour = '".$date2."' and id_salarie = '".$id_salarie."'";
    Attention aux cotes pour le format 'HH24:MI'

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut
    ben les valeurs que j'essaie de soustraire ont été insérées à partir d'autres requêtes dans des champs de type date.

    Si c'était du varchar l'enregistrement n'aurait jamais pu se faire...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut
    alors ça me donne comme erreur :
    Warning: OCIStmtExecute: ORA-01401: inserted value too large for column

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Désolé,
    Requete SQL:
    update demande set duree = to_date ('14:22', 'hh24:mi') - to_date('14:20','hh24:mi') where jour = '09-02-06' and id_salarie = '39'
    Exécution non effectuée

  7. #7
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Shnouf c'est toi ? Ou alors vous êtes 2 à bosser sur le même truc et que vous communiquez pas.

    http://www.developpez.net/forums/viewtopic.php?t=452711

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut
    heu oauis on bosse sur le même projet...
    on essaye de se debrouiller le mieux qu'on peut...
    heuuuuu il m'a rien dit du tout le sal***

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 59
    Par défaut
    bon alors j'ai effectué cette requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update presence set duree = (to_date('".$heure_depart."','DD-mm-YYYY hh24:mi') - to_date('".$heure_arrivee."', 'DD-mm-YYYY hh24:mi'))*24*60 where jour = to_date('".$date2."','DD-mm-YYYY') and id_stagiaire = '".$id_stagiaire."'
    Je n'ai aucun message d'erreur cette fois, la requête veut bien se lancer mais le champ duree reste vide...

Discussions similaires

  1. [SQL] Du code dans une variable chaine pour insertion en base
    Par tl_marly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/03/2008, 14h38
  2. Soustraction de variables de classes différentes
    Par hanane78 dans le forum MATLAB
    Réponses: 5
    Dernier message: 17/11/2007, 20h00
  3. Utiliser le même code pour différents variables
    Par vladvad dans le forum Windows Forms
    Réponses: 16
    Dernier message: 09/06/2007, 18h10
  4. [PHP-JS] Peut on mettre ce code dans une variable?
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 06/06/2007, 17h04
  5. Code HTML en variable XML
    Par Shadiest dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 14/11/2006, 11h15

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