select decode((to_number('1381119899')/2-floor(to_number('1381119898')/2))*2,0,'偶数',1,'奇数','不是整数') from dual;
create or replace function is_odd_or_even (mynumber in varchar2) return number is tmp number(1); begin tmp:=2-mod(to_number(mynumber),2); return tmp; exception when others then return 0; end is_odd_or_even;SQL> create or replace function is_odd_or_even 2 (mynumber in varchar2) 3 return number is 4 tmp number(1); 5 begin 6 tmp:=2-mod(to_number(mynumber),2); 7 return tmp; 8 exception 9 when others then 10 return 0; 11 end is_odd_or_even; 12 /函数已创建。SQL> select is_odd_or_even('123') from dual;IS_ODD_OR_EVEN('123') --------------------- 1SQL> select is_odd_or_even('12') from dual;IS_ODD_OR_EVEN('12') -------------------- 2SQL> select is_odd_or_even('12a') from dual;IS_ODD_OR_EVEN('12A') --------------------- 0
select decode(mod('1381119898',2), 0, '偶', '奇') from dual
select decode(mod(to_number('1381119898'),2), 0, '偶', '奇') from dual;
select decode(mod('1381119898',2), 0, '偶', 1,'奇','不是整数') from dual
(mynumber in varchar2)
return number is
tmp number(1);
begin
tmp:=2-mod(to_number(mynumber),2);
return tmp;
exception
when others then
return 0;
end is_odd_or_even;SQL> create or replace function is_odd_or_even
2 (mynumber in varchar2)
3 return number is
4 tmp number(1);
5 begin
6 tmp:=2-mod(to_number(mynumber),2);
7 return tmp;
8 exception
9 when others then
10 return 0;
11 end is_odd_or_even;
12 /函数已创建。SQL> select is_odd_or_even('123') from dual;IS_ODD_OR_EVEN('123')
---------------------
1SQL> select is_odd_or_even('12') from dual;IS_ODD_OR_EVEN('12')
--------------------
2SQL> select is_odd_or_even('12a') from dual;IS_ODD_OR_EVEN('12A')
---------------------
0