Разница между функциями CAST и TO_NUMBER при преобразовании данных в SQL заключается в их назначении и диапазоне обрабатываемых типов данных. 1
CAST преобразует выражение одного типа к другому. 5 Она поддерживается стандартом ANSI-SQL и используется для простых преобразований типов данных без специфических требований к форматированию. 4 CAST работает с широким спектром типов данных, в то время как функции TO* (к которым относится и TONUMBER) поддерживают только несколько типов. 1
TO_NUMBER позволяет преобразовать строку (VARCHAR2, CHAR и т. д.) в тип NUMBER. 1 У неё один параметр — значение для преобразования. 1
Таким образом, CAST более универсальна, так как работает с большим количеством типов данных, в то время как функции TO_* проще в использовании, так как имеют меньше параметров. 1