【发布时间】:2019-04-05 02:24:13
【问题描述】:
我正在寻求有关从队列名称中删除尾随空格的帮助。以下是我正在使用的表格示例:
QUEUE_NAME
Queue A
Queue B
Queue C
我遇到的问题是队列名称末尾有一个额外的空格,并且在尝试以下代码时:
SELECT
TRIM(TRAILING ' ' FROM QUEUE_NAME)
FROM
TABLE_QUEUE;
空间还在。
我正在阅读来自 Google 的搜索,发现以下代码删除了特殊字符 [https://community.oracle.com/blogs/bbrumm/2016/12/11/how-to-replace-special-characters-in-oracle-sql],这删除了所有空格,包括末尾的空格。我写的代码:
SELECT
REGEXP_REPLACE(QUEUE_NAME, '[^0-9A-Za-z]', '')
FROM
TABLE_QUEUE;
我现在唯一的问题是我的结果如下所示:
QUEUE_NAME
QueueA
QueueB
QueueC
我从未真正使用过 regexp_replace,因此不确定我需要对代码进行哪些更改以在队列名称之间留出空格,所以如果有人能就我如何解决这个问题提出建议,我将不胜感激。
提前致谢。
---- 代码编辑为不应包含[.!?]+
【问题讨论】:
-
你确定它是空格而不是其他空白字符吗?
-
嗨,Lukasz,公平地说,我不确定,只有当我将表格数据下载为 CSV 时,我才会在末尾看到一个额外的空间。有什么要我检查的吗?
-
记事本++并显示不可见字符“查看->显示符号->显示所有字符”
-
好的,谢谢你试试
-
对于未来,最好能确定那些神秘人物是什么。你可以看看你是否运行
select DUMP(queue_name) from table_queue。阅读一些有关 DUMP 功能的知识并使用它,您会发现它在很多场合都非常有用。
标签: sql oracle regexp-replace