六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 76|回复: 0

DB2的函数(实现按位与或)

[复制链接]

升级  49.2%

238

主题

238

主题

238

主题

进士

Rank: 4

积分
746
 楼主| 发表于 2013-1-13 18:56:49 | 显示全部楼层 |阅读模式
<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; width: 95%; padding-top: 4px;"> CREATE TABLE mytab
       (name 
varchar(30not null,
        age  
int not null,
        flag1 
smallint NOT NULL,      
        flag2 
smallint NOT NULL); 
        

select NAME, AGE, FLAG1, FLAG2
  
from UU.MYTAB;
  
  --转化为二进制
CREATE FUNCTION int_to_binary (N1 Integer)
RETURNS varchar(32)
LANGUAGE SQL
SPECIFIC int2bin
BEGIN ATOMIC
DECLARE M1, i, len  Integer default 0;
DECLARE  temp_str varchar(32default ' ';
DECLARE  result_str varchar(32default ' ';
  
SET M1 = N1;
  
WHILE  M1 > 0  DO
   
SET temp_str = temp_str || cast(mod(m1,2as char(1));
   
set m1 = m1/2;
  
END WHILE;
    
set len = length (temp_str);
    
while i < len do
       
set result_str = result_str || substr(temp_str,len-i,1);
       
set i = i+1;
    
end while;
RETURN result_str;
END 


select int_to_binary(8from mytab;

drop function int_to_binary;
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表