je travaille dans une bdd d'un client. peut être c liée aux droits sur la Bdd
Version imprimable
je travaille dans une bdd d'un client. peut être c liée aux droits sur la Bdd
Le message d'erreur est tout de même relatif à la structure du code et non à un manque de droits
je ne peux pas essayé avec un autre éditeur. j'ai pas le droit d'avoir le mot de passe du shéma oracle dans lequel j'ai ma bdd.
je peux essayé sur mon pc personnel. la requête est la même sur une bdd SQL Server?
Je ne peux t'assurer que la syntaxe soit exactement la même car les fonctions diffèrent entre SGBD, mais doit s'en rapprocher
Une recherche sur google devrait te permettre d'y voir plus clair
Non ça ne fonctionnera pas sur SQL-Server, si les dialectes SQL se ressemblent, les langages de programmation T-SQL & PL/SQL sont très différents.
problème réglé avecet j'arrive à sommer les valeur.Code:select Replace(ValRf, ' ', '') From MaTable Where not regexp_like(ValRef, '[:lower:]' )
Résultat : ca me donne des chiffres sans espace et me supprime les lignes qui contiennent les caractères sauf pour un seul enregistrement qui contient le mot "TEST".
une explication?
Oui, c'est le format de vos nombres, c'est à dire la représentation d'un nombre en tant que chaîne de caractères.
Si votre nombre est 9, la représentation est simple, ce sera '9'.
Si votre nombre est 320241.1, la représentation dépend de certains paramètres locaux / de base / de session, qu'on appelle NLS (National Language support).
En effet, en France ce nombre s'écrira '320 241,1'.
Aux USA ce serait '320,241.1'. Et cetera.
Dans cet exemple, la fonction to_number prend un format d'entrée, et des paramètres NLS : le premier est le séparateur décimal, le second est le séparateur de milliers :
Code:
1
2
3 select to_number(ValRf, '999G999G999D99', 'nls_numeric_characters='', ''') from MaTable where not regexp_like(ValRef, '[:lower:]')
Merci Wladar pour votre réponse.
j'ai exécuté ta requête et le résultat est le suivant :
Ora-12702: la chaine de paramètre NLS n'est pas valide dans la fonction SQL
Inutile de faire un from dual !Code:
1
2
3
4 select Reference , sum((select tst_num(ValeurRef) from dual)) as ValeurRef from TableA group by Reference
Code:
1
2
3
4 select Reference , sum(tst_num(ValeurRef)) as ValeurRef from TableA group by Reference
Garuda, je vous invite à faire quelques recherches sur le mécanisme de cache des fonctions dans Oracle.
La syntaxe je vous l'accorde n'est pas naturelle, mais le résultat est là.
Bonjour,
=> enlève bien le mot TEST.Code:Where not regexp_like(lower(ValRef), '[:lower:]' )
Ma requête donne le bon résultat.
Merci bcp à vous tous :applo::applo: