【发布时间】:2015-04-06 18:33:31
【问题描述】:
我有一个文本列,其内容在字符串的前后混合了换行符和空白字符。我正在尝试写一个SELECT 声明,它向我展示了没有前导和尾随垃圾的内容。
以下查询修剪空格:
SELECT TRIM(column)
FROM table;
虽然这个修剪换行符:
SELECT TRIM('\n' FROM column)
FROM table;
我也尝试过this answer,但它不起作用:
SELECT TRIM(BOTH '\t' OR '\n' FROM TRIM(BOTH '\n' OR '\t' FROM TRIM(column)))
FROM table;
有没有办法消除前导字符和尾随字符的混合?
更新:我无法替换,因为我仍然希望空白/换行符出现在内容中。
我有一些带有空格的字段,后跟一堆换行符,然后是更多的空格/换行符。因此进退两难。
【问题讨论】:
-
不知道为什么当 cmets 表明它已损坏时,您为什么要费心尝试该答案。
-
所以要绝对清楚,您的字段看起来像:(1)一堆空白和新行的前言,然后是(2)实际内容,其中可能有更多空白和换行符,然后是(3)尾随空格和换行符?而你想删除 (1) 和 (3)>
-
完全正确。