末尾にスペースがあるレコードを見つける必要があります。を使用してクエリを作成しようとしましたLength(rtrim)
が、必要なレコードが返されません。
例えば
abc "
abc "
abc "
手伝ってください
あなたは正しい軌道に乗っていたと思います。次の例では、2 番目と 3 番目のテキストが返されますが、最初のテキストは返されません。
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);
または、末尾にスペースがある可能性のあるテキストを含むYOURTABLE
列を持つテーブルの場合:YOURCOLUMN
SELECT * FROM
YOURTABLE
WHERE LENGTH(RTRIM(YOURCOLUMN)) != LENGTH(YOURCOLUMN);
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);