1

我有一个表,其中有一description_text列 ( NVARCHAR),我需要检查任何特殊字符(从ascii 代码 128 到 255)。

我写的是:

SELECT cid as ID, description_id as "Element ID", description_text as Text, 'special characters in description_text (tbdescription)' as "Error"
FROM tbdescription d
WHERE
(
description_text LIKE '%' || CHR (129) || '%'
or description_text LIKE '%' || CHR (130) || '%'
//..and so on..//
)

哪个可以完成这项工作,但我确信有更优雅的方法可以在没有所有or条件的情况下验证所有这些 ascii 代码。

我使用 Oracle 客户端版本 11.1.0.6.0

4

1 回答 1

1

你快到了。其中 regexp_like(description_text, '(' || chr(128) || '-' || chr(255) || ')')

在正则表达式中使用 hiphen 而不是 pipe。

于 2013-08-29T09:41:40.330 回答