Varchar2 和 Oracle 快速问题
大家好,我使用 varchar2 作为产品名称字段,但是当我从运行 SQL 命令行查询数据库时,它显示太多空白,如何在不更改数据类型的情况下修复此问题,
的链接
Hi guys I'm using varchar2 for a product name field, but when I query the database from the run SQL command line it shows too many empty spaces, how can I fix this without changing the datatype
here is the link to the ss
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
插入数据库的数据(可能通过某些 ETL 过程)包含未修剪的空格。
您可以使用(伪代码)进行更新
The data that got inserted into the database (probably through some ETL process) had spaces which were not trimmed.
You could update using (pseudo code)
如果 TRIM 没有改变结果,则表明实际数据库行中没有尾随空格;它们只是作为格式化屏幕输出的一部分添加。
默认情况下,sqlplus(您似乎正在使用的命令行 Oracle 工具)在显示 select 语句的结果时使用 varchar2 列的最大长度作为(固定)宽度。
如果要更改此设置,请在运行选择之前使用
列格式
sqlplus 命令。例如:If
TRIM
does not change the results, that tells you that there are not trailing spaces in the actual database rows; they're just being added as part of the formatted screen output.By default, sqlplus (the command-line Oracle tool you appear to be using) uses the maximum length of the varchar2 column as the (fixed) width when displaying the results of a select statement.
If you want to change this, use the
column format
sqlplus command before running the select. For example:您好,
尝试在两侧使用修剪,
更新 TableName set FieldName = RTrim(LTrim(FieldName))
问候
Hi
Try to use trim on both sides,
Update TableName set FieldName = RTrim(LTrim(FieldName))
Regards