Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2011, 14h13   #1
Membre du Club
 
Avatar de perchman
 
Étudiant
Inscription : décembre 2006
Messages : 194
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 194
Points : 53
Points : 53
Par défaut [SQL] Retirer 1 jour sur 1 date

Bonjour à tous,

Je cherche à modifier une date en fonction d'un critère mais je ne trouve pas la syntaxe.

Prenons un exemple: lorsqu'une action est effectuée le '15/01/2010 18:00:00', il ne se passe rien. Si par contre, une action 2 est effectuée le '15/01/2010 04:00:00' alors je dois changer la date d'exécution et passer à 14/01/2010.

Je suis parti là dessus mais je bloque:
Code :
1
2
3
4
5
 
CASE
WHEN heure <= '05:00:00' THEN (date = date -1)
ELSE date = date
END
Merci de votre aide.

Perch'
__________________
Copier sur un seul, c'est du plagiat. Copier sur deux, c'est de la recherche. [Wilson Mizner]
perchman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 14h15   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 986
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 10 986
Points : 18 234
Points : 18 234
Envoyer un message via MSN à CinePhil
On peut avoir la structure de la table et le nom du SGBD utilisé ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 14h17   #3
Membre du Club
 
Avatar de perchman
 
Étudiant
Inscription : décembre 2006
Messages : 194
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 194
Points : 53
Points : 53
C'est une base oracle.

Qu'entends tu par type de structure de la table ?
__________________
Copier sur un seul, c'est du plagiat. Copier sur deux, c'est de la recherche. [Wilson Mizner]
perchman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 14h23   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 986
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 10 986
Points : 18 234
Points : 18 234
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par perchman Voir le message
Qu'entends tu par type de structure de la table ?
Surtout le type des colonnes heure et date.
Très mauvais nom pour cette dernière puisque c'est un mot réservé SQL !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 14h36   #5
Membre du Club
 
Avatar de perchman
 
Étudiant
Inscription : décembre 2006
Messages : 194
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 194
Points : 53
Points : 53
Oui, mais je me suis mal exprimé.

Dans la requête, j'ai écrit 'heure' et 'date' juste pour essayer d'être plus clair: ce n'est pas ce que j'ai choisi comme variable.

-Le format de date est: '31/12/2010 23:59:59'
-Le format de l'heure est: '23:59:59'

Après on peut appeler la date 'date_occ' et l'heure 'hh_occ'.

Est-ce plus clair ?
__________________
Copier sur un seul, c'est du plagiat. Copier sur deux, c'est de la recherche. [Wilson Mizner]
perchman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 15h01   #6
Membre du Club
 
Avatar de perchman
 
Étudiant
Inscription : décembre 2006
Messages : 194
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 194
Points : 53
Points : 53
En gros, ça pourrait ressembler dans le principe mais je ne sais pas comment gérer de vrai date: c'est-à-dire qu'avec cette méthode de concaténation, si l'opération a lieu le 01/04/2011 à 04:00:00 alors mon résultat sera 0/04/2011...

Code :
1
2
3
4
5
CASE
WHEN hh_occ <= '05:00:00' 
THEN ((SUBSTR(O.date_occ,0,2)-1) || '/' || SUBSTR(O.date_occ,4,2) || '/' || SUBSTR(O.date_occ,7,4))
ELSE O.date_occ
END
__________________
Copier sur un seul, c'est du plagiat. Copier sur deux, c'est de la recherche. [Wilson Mizner]
perchman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2011, 16h14   #7
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
J'espère que le typage de votre colonne date_occ est bien date et non pas un varchar2.
Qu'en est-il de hh_occ ? Vu qu'il n'existe pas de type TIME chez Oracle.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 08h48   #8
Membre du Club
 
Avatar de perchman
 
Étudiant
Inscription : décembre 2006
Messages : 194
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 194
Points : 53
Points : 53
Merci de votre aide. Il y avait effectivement un problème de type...
__________________
Copier sur un seul, c'est du plagiat. Copier sur deux, c'est de la recherche. [Wilson Mizner]
perchman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h43.


 
 
 
 
Partenaires

Hébergement Web