如何找出哪些列和行包含扩展ASCII代码?

时间:2014-05-08 21:13:39

标签: oracle

任何人都可以帮忙如何找出表格中的扩展ASCII码有哪些列和行(EX:-Ž,™,Ù)?

实施例


雅各布\Û


=pal®

我需要查询一些像Select * from table来获取扩展ASCII 谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

您可以使用TRANSLATE从字符串中删除所有有效字符,因此只保留特殊字符。然后检查NULL(因为Oracle中的空字符串为NULL;不使用长度,因为长度不会像预期的那样为0但是为null):

select name
from mytable
where TRANSLATE(name, '®ABCDEFG...abc...', '®') is not null;

您必须将所有有效字符放在字符串中,我只需输入'...'。

我使用了一个特殊字符来替换自己,因为否则替换字符串必须为空,但是在Oracle中,empty表示null,而translate不能使用null。

(是的,在Oracle中,空字符串是空的东西真是令人讨厌。)

答案 1 :(得分:1)

您可以尝试:

SELECT *
FROM mytable
WHERE mycolumn<>CONVERT(mycolumn, 'US7ASCII');