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

Persistance des données Java Discussion :

Requete delete + champs time de type String


Sujet :

Persistance des données Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut Requete delete + champs time de type String
    Salut,

    J'ai une table qui contient un champs "date_creation". Ce champs est un simple String. Je ne peux malheureusement pas changer son type (Date ca serait mieux, je suis toute a fait daccord ).

    Je voudrais pouvoir supprimer tous les enregistrements qui ont étaient crées depuis plus de 10 jours par exemple.

    Ca parait tres simple ! mais le probléme c'est que mon champs date_creation contient des valeurs sous forme 20081127-13:32:44.375. Je ne vois pas comment je pourrais faire cette suppression en une seule ligne ...


    Voila ce que je voudrais avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String sqlInsert = "delete from orders where order_timecreation > " + machin + "')";
            int createdEntities = this.getSession().createSQLQuery(sqlInsert).executeUpdate();
    Svp Je voudrais faire cette suppression sans avoir à changer la structure de ma table.

    Merci pour votre aide

  2. #2
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Si ton champ String contient bien la représentation d'une date, tu peux demander à la bdd de convertir le champ avec une fonction to_date, je te laisse chercher la bonne syntaxe pour ta bdd, car évidemment, ça dépend ...

    Donc au final qq chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delete from ... where TO_DATE(date_creation,'MMYYYYMMDD....') > ...
    Reste évidemment que cette requête sera particulièrement lente, car il ne sera pas possible d'utiliser d'index sur cette date de création étant donné la conversion appliquée.

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    456
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 456
    Par défaut
    merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/04/2015, 12h35
  2. [AC-2007] Champ de type String en date
    Par Abed_H dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 20/02/2010, 23h27
  3. variable de type string dans une requete sql
    Par hammag dans le forum JDBC
    Réponses: 9
    Dernier message: 15/06/2008, 01h32
  4. [Access 2003]Probleme type de donnée sur requete DELETE
    Par pottiez dans le forum Langage SQL
    Réponses: 12
    Dernier message: 09/08/2006, 09h39
  5. [CR] les champs de type string
    Par yvescollet dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 05/10/2004, 16h29

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