检测 varchar 列上的所有特殊字符(ascii 代码 128 到 255)

问题描述 投票:0回答: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..//
)

这可以完成工作,但我确信有更优雅的方法来验证所有这些 ASCII 代码,而不需要所有

or
条件。

我使用Oracle客户端版本11.1.0.6.0

sql oracle oracle11g ascii
1个回答
1
投票

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

在正则表达式中使用连字符而不是竖线。

© www.soinside.com 2019 - 2024. All rights reserved.