Як перетворити varchar на число в Oracle?
20243 Відповіді
- створити ще один стовпець із типом даних NUMBER, скажімо, "NUMBER1".
- додайте дані стовпця "NUMBER" у цей щойно створений стовпець ("NUMBER1").
- Видаліть початковий стовпець "NUMBER".
- Перейменуйте щойно створений стовпець "NUMBER1" на "NUMBER"
Oracle / PLSQL: функція TO_NUMBER
- опис. Функція Oracle/PLSQL TO_NUMBER перетворює рядок на число.
- Синтаксис. Синтаксис функції TO_NUMBER в Oracle/PLSQL такий: TO_NUMBER( string1 [, format_mask] [, nls_language] ) …
- Повернення. Функція TO_NUMBER повертає числове значення.
- Застосовується до. …
- приклад.
Рішення. Найпоширенішим способом перетворення рядка в числове значення є використовувати функцію CAST().. Ця функція приймає два аргументи: рядок, який потрібно перетворити, і тип даних, у який його потрібно перетворити.
Ви можете використовуйте функцію TO_NUMBER, щоб перетворити char/varchar на число. Ви можете зробити наступне: вибрати TO_NUMBER('2')*TO_NUMBER('3')*TO_NUMBER('4') з dual; Ось демо.
Рішення 2 (бажано):
- Відредагуйте схему. Змініть тип поля з string на long .
- Під час UPDATE DB STRUCTURE замініть команду ALTER на наведену нижче команду ALTER, яка змінює тип стовпця на INTEGER :
TO_NUMBER дозволяє конвертувати рядок (VARCHAR2, CHAR тощо) у тип NUMBER. Ця функція повертає числове значення 150. Існують також функції TO_BINARY_DOUBLE і TO_BINARY_FLOAT, які подібним чином перетворюють значення на типи даних BINARY DOUBLE і BINARY FLOAT відповідно.