2010-04-26 2 views
2

Привет, ребята Я использую varchar2 для поля имени продукта, но когда я запрашиваю базу данных из командной строки запуска SQL, она показывает слишком много пустых пространств, как я могу исправить это, не изменяя тип данныхVarchar2 и Oracle быстрый вопрос

здесь есть ссылка на сс

http://img203.imageshack.us/img203/20/varchar.jpg

+0

Varchar2 (50), может быть, 50 добавляет 50 мест? даже если их не используют? – 2010-04-26 01:32:28

ответ

0

Если TRIM не изменяет результаты, что говорит вам, что не завершающие пробелы в фактических строк базы данных; они просто добавляются как часть форматированного вывода экрана.

По умолчанию sqlplus (инструмент командной строки командной строки, который, как представляется, используется) использует максимальную длину столбца varchar2 как (фиксированную) ширину при отображении результатов оператора select.

Если вы хотите изменить это, используйте команду sqlplus column format перед запуском select. Например:

column DEPT_NAME format a20 
1

данные, которые получили включены в базу данных (возможно, через какой-то процесс ETL) имели места, которые не были обрезаны.

Вы можете выполнить обновление с помощью (псевдо-код)

Update Table Set Column = Trim(Column) 
+0

Что такое процесс etl? – 2010-04-26 01:26:51

+1

Я вставил его через командную строку – 2010-04-26 01:27:11

+0

Я сделал это, но он не помог, его же – 2010-04-26 01:31:01

0

Hi

Try использовать накладку с обеих сторон,
Update TABLENAME установить FieldName = RTrim (LTrim (FieldName))

С уважением

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