与我一起工作的表格"生活"在Oracle数据库中(请注意我的英语不好)。
我使用的查询是:
select * from table_name
where field_name not like '%[a-z]%'
我也尝试过:
select * from table_name
where field_name not like '%[0-9]%'
答案 0 :(得分:0)
您提供的查询无效,因为它不使用正则表达式。
所以我要实现的目标是:
select column_name from table_name
Find
命令,并在“查找内容”字段中添加以下内容:[^A-za-z0-9/\\-?:().,'+ ]
,选择“正则表达式”它确实返回带有非拉丁字符的字段。
答案 1 :(得分:0)
您想使用REGEXP_LIKE
SELECT COLUMN_NAME
FROM TABLE_NAME
WHERE REGEXP_LIKE( COLUMN_NAME, '[^A-Za-z0-9/\\-?:().,''+ ]' );
或:
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
|| ']'
);
答案 2 :(得分:-2)
尝试使用否定like
代替not like
:
SELECT *
FROM table_name
WHERE field_name LIKE '%[^a-Z0-9]%'
^
表示否定。