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

Développement SQL Server Discussion :

Date aujourdhui en sql


Sujet :

Développement SQL Server

  1. #1
    Membre habitué

    Homme Profil pro
    Ingénieur géologue
    Inscrit en
    Août 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur géologue

    Informations forums :
    Inscription : Août 2008
    Messages : 125
    Points : 158
    Points
    158
    Billets dans le blog
    4
    Par défaut Date aujourdhui en sql
    Bonjour,
    J'ai une table (Table1) avec un champ ou colonne "date" sous format (jj/mm/aaaa). Je cherche à supprimer (delete) en SQL toutes les lignes dont aujourd’hui - date >=30 jours. Je butte dans mes tentatives sur le problème d'"aujourd’hui" en SQL.
    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Une date n'a pas de format jj/mm/aaaa. Une date est une date, ce sont les paramètres de votre base de données / client qui définissent le format d'affichage.

    Quel est votre SGBD ?

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Aujourd'hui en SQL, c'est CURRENT_DATE
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre habitué

    Homme Profil pro
    Ingénieur géologue
    Inscrit en
    Août 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur géologue

    Informations forums :
    Inscription : Août 2008
    Messages : 125
    Points : 158
    Points
    158
    Billets dans le blog
    4
    Par défaut Aujourd'hui en SQL
    Je travaille sur un projet « adp » en lien avec une base de données SQL server 2005. J'ai développé un trigger et dedans une colonne date avec valeur par défaut « (getdate()) ». La date sort dans le format que j’avais écris.
    Le problème qui se pose à moi comment traduire en sql l’idée : Date – Aujourd’hui >=30 jours. Comment insérer CURRENT_DATE dans une structure sql genre:
    "delete from Table1 where current_date – dbo.Table1.date>=30"
    Merci

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    La colonne ne devrait s'appeler 'date' puisque c'est mot réservé du SQL !

    Si je comprends bien ton besoin, tu veux supprimer les lignes dont la date est passée d'au moins 30 jours ?
    Essaie ceci, en commençant par un SELECT pour ne pas faire de bêtise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE FROM Table1
    WHERE la_date < CURRENT_DATE - INTERVAL 29 DAY
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE TABLE1
    WHERE dbo.Table1.date  <= GETDATE() - 30
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE dbo.Table1.date  <= DATEADD(DAY, -30, GETDATE())
    Etienne ZINZINDOHOUE
    Billets-Articles

  7. #7
    Membre habitué

    Homme Profil pro
    Ingénieur géologue
    Inscrit en
    Août 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur géologue

    Informations forums :
    Inscription : Août 2008
    Messages : 125
    Points : 158
    Points
    158
    Billets dans le blog
    4
    Par défaut aujourdhui en SQL
    Merci pour tous,
    Mon problème est résolu. J'ai opté pour essaye l'idée de zinzineti
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE TABLE1
    WHERE dbo.Table1.date  <= GETDATE() - 30
    et sa fonctionne bien.

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

Discussions similaires

  1. fonction date et requete SQL
    Par jeanjean0403 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 05/07/2006, 10h01
  2. Visual basic et date et requête SQL
    Par Fanny23 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 23/04/2006, 18h22
  3. probleme de date, Access et SQL
    Par riesseg dans le forum VBA Access
    Réponses: 9
    Dernier message: 12/04/2006, 17h42
  4. Comparer des dates en T-SQL
    Par AbyssoS dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/03/2006, 16h06
  5. format date sous postgres sql
    Par ruppert62 dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 27/05/2005, 12h04

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