
项目里要求对军人身份证特殊处理,只要数字位。本想用正则表达式,但是oracle9i不支持正则。
后来发现translate 可以实现功能.
translate(string,from_str,to_str) 按字符替换string中的值。对一些字符,出现在from_str(要被替换掉字符)中,但是to_str(替换之后的字符)没有对应替换的字符,oracle会自动把这部分字符替换成NULL。
translate(exp,x||exp,x) 这样我们就把exp中字符穿x保留下来,其他的字符系统自动剔除掉了。