我需要找到带尾随空格的记录.我尝试使用构建查询Length(rtrim),但它没有返回所需的记录.
例如
abc "
abc "
abc "
Run Code Online (Sandbox Code Playgroud)
请协助
我认为你走在了正确的轨道上.以下示例将返回第二个和第三个文本,但不返回第一个文本.
SELECT * FROM
(SELECT 'abc' AS text FROM DUAL
UNION ALL
SELECT 'abc ' AS text FROM DUAL
UNION ALL
SELECT 'abc ' AS text FROM DUAL)
WHERE LENGTH(RTRIM(text)) != LENGTH(text);
Run Code Online (Sandbox Code Playgroud)
或者对于包含包含可能尾随空格的文本YOURTABLE的列的表YOURCOLUMN:
SELECT * FROM
YOURTABLE
WHERE LENGTH(RTRIM(YOURCOLUMN)) != LENGTH(YOURCOLUMN);
Run Code Online (Sandbox Code Playgroud)
如果你也有HORIZONTAL TAB,LINE FEED或者CARRIAGE RETURN您可以使用TRANSLATE函数来对待这些正常的空间:
SELECT * FROM
(SELECT 'abc' AS text FROM DUAL
UNION ALL
SELECT 'abc' || CHR(09) AS text FROM DUAL
UNION ALL
SELECT 'abc' || CHR(10) AS text FROM DUAL
UNION ALL
SELECT 'abc' || CHR(13) AS text FROM DUAL
UNION ALL
SELECT 'abc ' AS text FROM DUAL)
WHERE LENGTH(RTRIM(TRANSLATE(text, CHR(09) || CHR(10) || CHR(13), ' '))) != LENGTH(text);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |