テーブル私はOracleデータベースの "人生"を使って作業しています。テーブル内の非ラテン文字の検索(Oracle)
私が使用しているクエリは次のとおりです。
select * from table_name
where field_name not like '%[a-z]%'
私も試してみた:
select * from table_name
where field_name not like '%[0-9]%'
テーブル私はOracleデータベースの "人生"を使って作業しています。テーブル内の非ラテン文字の検索(Oracle)
私が使用しているクエリは次のとおりです。
select * from table_name
where field_name not like '%[a-z]%'
私も試してみた:
select * from table_name
where field_name not like '%[0-9]%'
ではなくnot like
の負like
をお試しください:
SELECT *
FROM table_name
WHERE field_name LIKE '%[^a-Z0-9]%'
^
表し、否定的
親切に提供されたクエリは、正規表現を使用していないため動作しません。
それでは、私は私の目標を達成するためにしなければならないことは次のとおりです。
select column_name from table_name
Find
のコマンドを実行します。[^A-za-z0-9/\\-?:().,'+ ]
「正規表現」を選択します。実際に非ラテン文字のフィールドが返されます。
あなたはREGEXP_LIKE
SELECT COLUMN_NAME
FROM TABLE_NAME
WHERE REGEXP_LIKE(COLUMN_NAME, '[^A-Za-z0-9/\\-?:().,''+ ]');
または使用したい: `LIKE`は正規表現をサポートしていません
SELECT COLUMN_NAME
FROM TABLE_NAME
WHERE REGEXP_LIKE(
COLUMN_NAME,
'[^' -- Match any character that is not:
|| CHR(9) -- Horizontal Tab
|| CHR(10) -- Line Feed
|| CHR(13) -- Carriage Return
|| CHR(32) || '-' || CHR(126) -- All characters from Space to Tilde
|| ']'
);
を。 – MT0
それは間違っている。私はなぜこれが "実用的な答え"として受け入れられたのか分かりません –