做A表的视图
A表中有一个项目是varchar2的数据,想在视图中作出这样的效果,就是如果这个项目的数据是'1',那么视图中对应的项目就是'0',如果A中的数据是'2',视图中就是'1'。目前我想出来的方法就是先将数据TO_NUMBER之后减去1,然后在变回varchar2,但是如果下次要求变成'a','b'之类的,我的这个方法就不好用了,所以请教各位Oracle的大侠有没有更好的实现方法?
A表中有一个项目是varchar2的数据,想在视图中作出这样的效果,就是如果这个项目的数据是'1',那么视图中对应的项目就是'0',如果A中的数据是'2',视图中就是'1'。目前我想出来的方法就是先将数据TO_NUMBER之后减去1,然后在变回varchar2,但是如果下次要求变成'a','b'之类的,我的这个方法就不好用了,所以请教各位Oracle的大侠有没有更好的实现方法?
when A.column1='2' then '1'
else '' end ;2,decode(A.column1, '1','0', '2','1', '');
如果有字母的话,其实可以考虑ASCII码来转
反正不管如何,应该可以用ascii()和chr()函数吧象这样
SQL> SELECT chr(ASCII('A')+1) FROM dual;
CHR(ASCII('A')+1)
-----------------
B