Probleme requete

Probleme requete - SQL/NoSQL - Programmation

Marsh Posté le 14-11-2003 à 12:00:52    

Voila
j'aimerai récuperer la valeur maximum d'un champ  
qui ne doit contenir que des valeurs numeriques.
Cepenadnt certaine valeurs contiennes des lettres.
comment faire pour que mon max ne prenne pas compte ces valeurs avce les lettres?
Et par consequent ne prend que le max de l'ensemble des valeurs qui ne contiennes que des chiffres.
 
merci d'avance

Reply

Marsh Posté le 14-11-2003 à 12:00:52   

Reply

Marsh Posté le 14-11-2003 à 12:15:15    

Sous Postgres:
 
SELECT MAX(entier) FROM (SELECT champ FROM table WHERE champ ~ '[0-9]+') AS entier
 
si c'est un autre SGDB, il faut regarder s'il accepte les regexp

Reply

Marsh Posté le 14-11-2003 à 12:27:02    

je croit pas que mysql les supportent
 
a confirmer

Reply

Marsh Posté le 14-11-2003 à 13:34:02    

gizmo a écrit :

Sous Postgres:
 
SELECT MAX(entier) FROM (SELECT champ FROM table WHERE champ ~ '[0-9]+') AS entier
 
si c'est un autre SGDB, il faut regarder s'il accepte les regexp


 
d'accord merci je vais verifier ca

Reply

Marsh Posté le 14-11-2003 à 13:38:37    

question surement débile ;o)
mais quand on developpe en PHP et qu'on fait des requete SQL par le biais d'odbc sur une base oracle  on doit connaitre Le SQL oracle ? j'ai pas faut  c ca?
bon si c'est le cas, quelqu'un serait comment utiliser les REGEXP avce oracle ? ;o)

Reply

Marsh Posté le 14-11-2003 à 13:50:24    

en effet, il faut connaitre le SQL d'oracle. Par contre, je ne sais pas comment ils traitent les regexp.

Reply

Marsh Posté le 14-11-2003 à 14:30:20    

gizmo a écrit :

en effet, il faut connaitre le SQL d'oracle. Par contre, je ne sais pas comment ils traitent les regexp.


 
le pb c'ets que je pe pas trop me permettre de faire des tests sans savoir vraiment ce que je fais cra la base oracle est utilisé par bcp de monde et ca pourrait bloqué la societé si je merde  trop  ;o)

Reply

Marsh Posté le 14-11-2003 à 14:32:19    

bah, crée-toi un autre schéma pour faire tes tests, comme ça tu ne polue pas les autres données.

Reply

Marsh Posté le 14-11-2003 à 14:48:07    

gizmo a écrit :

bah, crée-toi un autre schéma pour faire tes tests, comme ça tu ne polue pas les autres données.


 
t'appelle quoi par un autre schema? une aute table ds la base oracle?

Reply

Marsh Posté le 14-11-2003 à 14:53:26    

non, un autre schéma. Je pense qu'en oracle ils appellent cela des namespace. Ainsi, dans la base, tu as des schémas et dans chaque schéma tu as les tables correspondant à l'application.
 
Tes tables son accessibles ainsi schema.table

Reply

Marsh Posté le 14-11-2003 à 14:53:26   

Reply

Marsh Posté le 14-11-2003 à 16:52:02    

gizmo a écrit :

non, un autre schéma. Je pense qu'en oracle ils appellent cela des namespace. Ainsi, dans la base, tu as des schémas et dans chaque schéma tu as les tables correspondant à l'application.
 
Tes tables son accessibles ainsi schema.table


 
ah ca je connais pas mais je vais faire des recherches la dessus  , merci

Reply

Marsh Posté le 16-11-2003 à 14:50:42    

 :) non les schémas ORACLE se nomment bien "schema" :

Code :
  1. create schema xxx ....


 
tu y affecte des "tablespace"... des "table"...et un "owner"...
 
va faire un tour sur le sql.hlp (si tu as ORACLE tu doit en avoir un quelque part)....
 
Ca évitera effectivement des pb...
 
A propos, on m'a signalé il y a un moment une syntaxe sympa de recopie de table :
 

Code :
  1. create table tst_xxx as (select *** from ttt...)
  2. in tablespace tst...


 
Ca peut toujours aider  :)

Reply

Marsh Posté le 17-11-2003 à 13:48:17    

black_lotus a écrit :

 :) non les schémas ORACLE se nomment bien "schema" :

Code :
  1. create schema xxx ....


 
tu y affecte des "tablespace"... des "table"...et un "owner"...
 
va faire un tour sur le sql.hlp (si tu as ORACLE tu doit en avoir un quelque part)....
 
Ca évitera effectivement des pb...
 
A propos, on m'a signalé il y a un moment une syntaxe sympa de recopie de table :
 

Code :
  1. create table tst_xxx as (select *** from ttt...)
  2. in tablespace tst...


 
Ca peut toujours aider  :)  


 
merci j'ai toujours pas eu le temps d'aller tester tout ca  :( mais je vous remercie , dès que je peux et que j'ai testé , je vous tient au courant

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed