2014-11-28 4 views
0

У меня есть сценарий, где мне нужно преобразовать varchar столбец в колонку number. При этом я получаю ошибку invalid number. После отладки значений некоторые имеют пробелы и некоторые другие значения, введенные как 56.678.90. Ниже приведен запрос, я попытался преобразовать varchar в number,Устранение пробелов в столбцах таблицы

select cast('45.56.78' as number) from dual или

select cast (' ' as number) from dual

Оба значения, которые я Введенные в приведенном выше запросе будет там в колонке 'lddfc' в таблице entry_header. Столбец lddfc имеет записи 456.99, 456.89.43 и пробелы. Как я могу отображать эти значения как number?

ответ

0

Вы не упомянули, какой вариант SQL вы используете, но если это T-SQL, вы можете удалить передние и конечные пробелы с помощью LTRIM(RTRIM(yourValue)). Не уверен в синтаксисе PL/SQL.

Так что ваш код будет select cast(LTRIM(RTRIM('45.56.78')) AS NUMBER) FROM DUAL

Я не думаю, что вы можете конвертировать '45.56.78' в ряд, хотя без удаления одного из десятичных точек.

Смежные вопросы