【发布时间】:2010-04-26 01:17:02
【问题描述】:
大家好,我使用 varchar2 作为产品名称字段,但是当我从运行 SQL 命令行查询数据库时,它显示了太多的空格,如何在不更改数据类型的情况下解决这个问题
这里是ss的链接
【问题讨论】:
-
Varchar2(50),也许 50 加 50 个空格?即使他们不使用?
大家好,我使用 varchar2 作为产品名称字段,但是当我从运行 SQL 命令行查询数据库时,它显示了太多的空格,如何在不更改数据类型的情况下解决这个问题
这里是ss的链接
【问题讨论】:
插入到数据库中的数据(可能通过一些 ETL 过程)包含未修剪的空格。
您可以使用(伪代码)进行更新
Update Table Set Column = Trim(Column)
【讨论】:
如果TRIM 没有更改结果,则表明实际数据库行中没有尾随空格;它们只是作为格式化屏幕输出的一部分添加。
默认情况下,sqlplus(您似乎正在使用的命令行 Oracle 工具)在显示 select 语句的结果时使用 varchar2 列的最大长度作为(固定)宽度。
如果要更改此设置,请在运行选择之前使用column format sqlplus 命令。例如:
column DEPT_NAME format a20
【讨论】:
嗨
尝试在两边都使用trim,
Update TableName set FieldName = RTrim(LTrim(FieldName))
问候
【讨论】: