Sql 如何解决orcale中的无效数字

Sql 如何解决orcale中的无效数字,sql,oracle,Sql,Oracle,我面临一个问题,一些数据在数字5之前以一个奇怪的字符开头 如何发现所有这些字符并将其删除 5,AX,AMEX,0,0,0,0,0,0,0, DM,BSHB,0,0,0,0,0,0,0,MC, BSHB,1,323.50,0,0,0,0,1,P1, BSHB,81,7819.25,0,0,0,0,81, VC,BSHB,5,212.95,0,0,0,0,5 如果知道我从特定来源获取数据,因此无法更改任何内容,但试图在视图中屏蔽数据,您建议如何解决此问题?regexp\u replace始终可以帮

我面临一个问题,一些数据在数字5之前以一个奇怪的字符开头 如何发现所有这些字符并将其删除

5,AX,AMEX,0,0,0,0,0,0,0,
DM,BSHB,0,0,0,0,0,0,0,MC,
BSHB,1,323.50,0,0,0,0,1,P1,
BSHB,81,7819.25,0,0,0,0,81,
VC,BSHB,5,212.95,0,0,0,0,5

如果知道我从特定来源获取数据,因此无法更改任何内容,但试图在视图中屏蔽数据,您建议如何解决此问题?

regexp\u replace始终可以帮助查找或替换/删除所需的任何字符

例如,如果要删除字母数字、空格、逗号和点的所有字符:


regexp_replacet.str,'[^,.[:alnum:]'

该字符没有出现在Post中。您是说您的表包含一个字符串列,并且在这些字符串中可能有您希望通过更新从字符串中删除的控制字符吗?在列中不,让我们假设X,X有一些记录,如post中的数据,但其中一些记录有一个奇怪的字符,导致第5号之前出现问题。我不能在这里显示字符,它是一个正方形@ThorstenKettner@MaramA-zaid向我们展示银行账户。看起来ID不是前面提到的数字列:由于x中的奇怪字符,您无法在显示的查询中获得此异常。是的,regexp_replace是删除不需要的字符的好方法。但是您的表达式也会删除CR和LF。好的,我如何指定image@ThorstenKettner是的,正如我所说,除了字母、空格、逗号和点之外:如果不想删除新行字符,可以添加修饰符“M”:regexp_replacet.str,“[^,[:alnum:][]”,、1,0,'m'@MaramA zaid您不需要指定该字符,只需要指定要保留的字符