有一身份证加密解密
1 B
2 A
3 @
4 G
5 F
6 E
7 D
8 K
9 J
0 C
X +
规则如上,
我写成
加密
replace( replace(replace(replace(replace(replace(replace(replace(replace(replace(replace('sfz','1','B'),'2','A'),'3','@'),'4','G'),'5','F'),'6','E'),'7','D'),'8','K'),'9','J'),'X','+'),'0','C')
解密
replace( replace(replace(replace(replace(replace(replace(replace(replace(replace(replace('sfz','B','1'),'A','2'),'@','3'),'G','4'),'F','5'),'E','6'),'D','7'),'K','8'),'J','9'),'C','0'),'+','X')
这样太SB了,求高手改造
------解决方案--------------------
应该可以直接用translate函数:
select translate('ABCDEFGABC', 'ABCDEFGABC', '1234567123') from dual;