Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
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 10/11/2006, 09h57   #1
Invité de passage
 
Inscription : mai 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 11
Points : 4
Points : 4
Par défaut Migration Oracle MySql

Nous sommes en train de migrer nos bases de donnée d'un moteur "ORACLE" vers My SQL et je suis confronté à un petit problème dans les applic's qui exploitent nos données


soit : une table contenant un champ nommé "Datte" de type DATE et dans cette table plusieurs enregistrement dont l'un daté au 2006.10.06

si l'on fait:
SELECT * FROM MaTable WHERE datte = '2006.10.06' , pas de problème on obtient une réponse

par contre je ne trouve pas le moyen de sortir les record's, par ex., du mois d'octobre via un select du genre :
SELECT * FROM MaTable WHERE datte LIKE '2006.10.%'
ni par
SELECT * FROM MaTable WHERE datte LIKE DATE_FORMAT('2006.10.%','%Y %m %e')
ou
SELECT * FROM MaTable WHERE datte LIKE STR_TO_DATE('2006.10.%',GET_FORMAT(DATE,'EUR'))

étant donné que je suis un novice en SQL et encore plus en SQL version MySql je part de l'idée que je formule mal "Myquery"
certes je pourrais passer par le "nombre date" via To_days mais cela me forcerais a faire une conversion [chaine-->number]

mais ce qui me tracasse c'est qu'en SQL "Oracle"
le query :
SELECT * FROM MaTable WHERE datte LIKE TO_DATE('2006.10.%','DD:MM:YYYY HH24:MI:SS')
fonctionne très bien

et comme je suis têtu je me dis qu'il doit exister une bonne syntaxe
FelixGe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 14h19   #2
Membre du Club
 
Inscription : novembre 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 48
Points : 48
Points : 48
Par défaut Test l'intervalle

Bonjour,

tu peux essayer:

SELECT * FROM MaTable WHERE datte>'2006.10.01' and datte<'2006.10.31'

A+
LoveBuzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 14h32   #3
Invité de passage
 
Inscription : mai 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 11
Points : 4
Points : 4
Par défaut Migration Oracle MySql

Dabord merci pour cette idée pour by-passer le problème mais, comme mentionné dans le problème je suis têtu et je me dis que les concepteurs de MySql ayant créé ces deux fonctions(DATE_FORMAT et GET_FORMAT) c'est qu'ils avaient quelques choses(au pluriel) derrière les neurones et comme les miens semblent se ralentir j'aurais aimé leurs donner un coup de fouet et comprendre l'usage de ces fonctions
FelixGe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 15h11   #4
Membre du Club
 
Inscription : novembre 2006
Messages : 48
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 48
Points : 48
Points : 48
Les 2 fonctions DATE_FORMAT et GET_FORMAT doivent servir uniquement à de l'affichage pour "formater" la date.

A+
LoveBuzz 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 15h03.


 
 
 
 
Partenaires

Hébergement Web