Varchar2 和 Oracle 快速问题

发布于 2024-08-30 09:12:52 字数 250 浏览 7 评论 0原文

大家好,我使用 varchar2 作为产品名称字段,但是当我从运行 SQL 命令行查询数据库时,它显示太多空白,如何在不更改数据类型的情况下修复此问题,

的链接

这里是 ss http://img203.imageshack.us/img203/20/varchar.jpg

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

仅此而已 2024-09-06 09:12:52

插入数据库的数据(可能通过某些 ETL 过程)包含未修剪的空格。

您可以使用(伪代码)进行更新

Update Table Set Column = Trim(Column)

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)

Update Table Set Column = Trim(Column)
悲念泪 2024-09-06 09:12:52

如果 TRIM 没有改变结果,则表明实际数据库行中没有尾随空格;它们只是作为格式化屏幕输出的一部分添加。

默认情况下,sqlplus(您似乎正在使用的命令行 Oracle 工具)在显示 select 语句的结果时使用 varchar2 列的最大长度作为(固定)宽度。

如果要更改此设置,请在运行选择之前使用列格式 sqlplus 命令。例如:

column DEPT_NAME format a20

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:

column DEPT_NAME format a20
何以心动 2024-09-06 09:12:52

您好,

尝试在两侧使用修剪,
更新 TableName set FieldName = RTrim(LTrim(FieldName))

问候


Hi

Try to use trim on both sides,
Update TableName set FieldName = RTrim(LTrim(FieldName))

Regards

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文