Ho il seguente codice che restituisce un messaggio di errore se il mio valore non è valido. Vorrei dare lo stesso messaggio di errore se il valore fornito non è numerico.Come si può sapere se un valore non è numerico in Oracle?
IF(option_id = 0021) THEN
IF((value<10000) or (value>7200000) or /* Numeric Check */)THEN
ip_msg(6214,option_name); -- Error Message
return;
END IF;
END IF;
In SQL Server, ho semplicemente utilizzato ISNUMERIC()
. Mi piacerebbe fare qualcosa di simile in Oracle. Ad esempio,
IF((!ISNUMERIC(value)) or (value<10000) or (value>7200000))
THEN ...
Penso che si desidera 'is_numeric (str) = 0 'sopra, se ho capito correttamente il PO (equivalente di'! ISNUMERIC (valore) '). –
@DavidFaber - Suppongo che sia un refuso. Se una stringa non è numerica, non avrebbe senso per poi confrontarla con valori numerici. –
Oh capisco, stai usando AND dove l'OP ha OR. Colpa mia. –