15

データベースから返されたデータ (バイト形式) から作成されたファイルに問題があります。
問題は、ファイルにいくつかの改行があることです。
一部のレコードに改行文字があるかどうかを確認する where 句を記述する方法があるかどうかを知りたいですか?

4

4 に答える 4

29

CHR 関数を使用して ASCII 値を探す:

select *
from your_table
where instr(your_text_col, chr(10)) > 0;

キャリッジ リターンを検索する場合は、chr(13) になります。

于 2012-11-20T21:18:29.093 に答える
8

次のように書くことができます:

SELECT id
  FROM table_name
 WHERE field_name LIKE '%'||CHR(10)||'%'
;

||は連結演算子です。CHR(10)は10番目のASCII文字、つまり改行です。)

于 2012-11-20T21:18:06.787 に答える
6

プラットフォームに応じて、通常、改行は a CHR(10)(Unix) または a のCHR(13)後に a CHR(10)(Windows) になります。他のより難解なプラットフォームには他のオプションがありますが、99.999% の確率で、これら 2 つのいずれかになります。

列のデータを検索して、1 つまたは両方の文字を検索できます。

SELECT instr( column_name, CHR(10) ) position_of_first_lf,
       instr( column_name, CHR(13) || CHR(10) ) position_of_first_cr_lf
  FROM table_name
 WHERE instr( column_name, CHR(10) ) > 0
于 2012-11-20T21:19:01.803 に答える