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

HyperFileSQL Discussion :

Ajouter des secondes à une date [HF19]


Sujet :

HyperFileSQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 38
    Points
    38
    Par défaut Ajouter des secondes à une date
    Bonjour,

    Je n'arrive pas à ajouter des secondes à une colonne au format date/heure dans une requête SQL sur HFSQL. J'ai essayé pas mal de choses (fonctions WL.*, TO_NUMBER qui est dans la doc, mais non reconnu en exécution, ...).

    Donc pour résumer j'ai une colonne de type date/heure DATE_DEBUT , une colonne de type numérique DUREE, qui représente une durée en secondes, et je voudrais ajouter DUREE à DATE_DEBUT afin d'obtenir la date de fin.

    Sur d'autres moteurs SQL, pas de problème, mais là ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 056
    Points : 9 394
    Points
    9 394
    Par défaut
    Je fais souvent des choses comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select zdate - 1 from ma_table
    Et ca décale d'une journée

    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select zdate + 1 /24/3600 from ma_table
    devrait ajouter une seconde.

    Si ça ne marche pas, précise mieux ta question : la requête ne s'exécute pas, ou bien elle s'exécute mais donne un résultat faux ... Ici, on est autant dans le flou que toi !
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 38
    Points
    38
    Par défaut
    Hello tbc92, merci pour ta réponse ; C'est juste, autant pour moi !

    La requête s'exécute, mais le moteur HFSQL ne se comporte pas comme le moteur Oracle (par exemple), sans surprise. Effectivement pour ajouter une seconde avec Oracle (par exemple) on peut très bien ajouter 1/86400 à une date au format date/heure.

    Mais sous HFSQL on a un résultat ... Différent :

    Nom : screenshot date + entier.png
Affichages : 940
Taille : 64,1 Ko

    Le format classique date/heure chez PCSoft : YYYY MM HH24 MI SS CSMS. Ici on dirait que le moteur considère la date comme un numérique auquel il va ajouter 1/86400 (soit 1,157407407407407e-5) et renvoyer ce numérique, il ferait donc une conversion de la date vers un format numérique, alors qu'ici j'essaie de faire plutôt l'inverse. Il y a des fonctions spécifiques en WLangage pour manipuler les variables de type date et durée, mais en SQL typé HFSQL, je sèche ...

    EDIT : Pour précision j'ai tenté de passer par WL.DateVersEntier (on peut utiliser certaines fonctions WLangage dans les requêtes en préfixant par WL.), mais cette fonction n'accepte que les formats date (strict YYYYMMDD).

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Points : 38
    Points
    38
    Par défaut
    J'ai posé la question au support gratuit de PCSoft (qui a tenu ses engagements de répondre sous 48h), et voici la réponse :

    Bonjour Monsieur BLURED,
    Malheureusement, la version actuelle du produit ne le permet pas.

    Votre idée est intéressante. Je l’ai transmise en tant que suggestion à notre équipe de développement pour qu’ils étudient son implémentation dans une prochaine version.

    Je vous remercie de cette suggestion et vous souhaite de bons développements.


    C'est quand même dommage, même si HFSQL est gratuit. Ils font des efforts pour rendre ce moteur intéressant ces quatre dernières année, mais il va falloir poursuivre.

    Je clôture, on verra quand on aura des news.

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

Discussions similaires

  1. [MySQL] Ajouter des jours à une date donnée
    Par jiojioforever dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/10/2009, 09h32
  2. ajouter des secondes à une date (windev9)
    Par edzodzinam dans le forum WinDev
    Réponses: 3
    Dernier message: 31/01/2008, 14h43
  3. [Dates] Ajouter des mois à une date
    Par tiger63 dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2007, 16h42
  4. ajouter des jours à une date
    Par babalastar dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 27/02/2007, 11h39
  5. [HQL] Ajouter des jours à une date
    Par loulou dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/01/2007, 11h22

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