“Coffre-fort” TO_NUMBER()

SELECT TO_NUMBER('*') FROM DUAL

De toute évidence, cela me donne une exception:

ORA-01722: nombre non valable

Est-il un moyen de "sauter" et obtenir 0 ou NULL à la place?

L'ensemble de la question: j'ai NVARCHAR2 domaine, qui contient des nombres et presque pas 😉 (comme *) et j'ai besoin de sélectionner le plus grand nombre de la colonne.

Oui, je sais, c'est un terrible du design, mais c'est ce dont j'ai besoin maintenant... :-S

UPD:

Pour moi, je l'ai résolu ce problème avec

COALESCE(TO_NUMBER(REGEXP_SUBSTR(field, '^\d+')), 0)
  • Est * le seul personnage que vous vous attendez à rencontrer?
  • Poneys: nan... j'ai résolu ce problème avec laide REGEXP_SUBSTR(field, '^\d+')
InformationsquelleAutor zerkms | 2010-12-20