CREATE TABLE mytab
(name varchar(30) not 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(32) default ' ';
DECLARE result_str varchar(32) default ' ';
SET M1 = N1;
WHILE M1 > 0 DO
SET temp_str = temp_str || cast(mod(m1,2) as 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(8) from mytab;
drop function int_to_binary;
--按位与
--按位或
CREATE FUNCTION BITOR (N1 Integer, N2 Integer)
RETURNS Integer
LANGUAGE SQL
SPECIFIC BITORCONV
BEGIN ATOMIC
DECLARE M1, M2, S , temp1 Integer;
DECLARE RetVal Integer DEFAULT 0;
SET (M1, M2, S) = (N1, N2, 0);
WHILE ( M1 > 0 OR M2 > 0) AND S < 32 DO
IF MOD(M1,2)=0 AND MOD(M2,2)=0 THEN
SET temp1= 0;
ELSE
SET temp1=1;
END IF;
SET RetVal = RetVal + temp1*power(2,S);
SET (M1, M2, S) = (M1/2, M2/2, S+1);
END WHILE;
RETURN RetVal;
END
select BITAND(8,12) from mytab;
CREATE FUNCTION BITAND (N1 Integer, N2 Integer)
RETURNS Integer
LANGUAGE SQL
SPECIFIC BITANDOracle
CONTAINS SQL
NO EXTERNAL ACTION
DETERMINISTIC
BEGIN ATOMIC
DECLARE M1, M2, S Integer;
DECLARE RetVal Integer DEFAULT 0;
SET (M1, M2, S) = (N1, N2, 0);
WHILE M1 > 0 AND M2 > 0 AND S < 32 DO
SET RetVal = RetVal + MOD(M1,2)*MOD(M2,2)*power(2,S);
SET (M1, M2, S) = (M1/2, M2/2, S+1);
END WHILE;
RETURN RetVal;
END
select BITAND(8,12) from mytab;
select power(2,4) from mytab;
drop function BIT_OR;
不过现在内存空间大了,像这样巧的按位操作来实现的方法似乎已经过时了,哎~~ 进行途中就放弃了写这样的函数来实现按位的操作。这样的设计大大的影响了索引的效率。
分享到:
相关推荐
DB2和HIVE的函数相互转换,大部分函数都实现了的。
DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列
有哥们在群里问DB2有没有自带的reverse函数,我测试一下,DB2确实内置该函数,但是oracle,sql server都内置了该函数,来看一下
字符串的查找是数据库应用中必不可少的操作,而且每种数据库产品(ORACLE、DB2、SYBASE、MS SQL SERVER、MYSQL等等)也都提供了对应的字符串处理函数,比如DB2的LOCATE函数。 但在实际的工作中,还是会遇到一些特殊...
一般对于中文数据的索引,采用词组的首汉字拼音的首字母,在DB2中并没有提供相应的函数可以取得汉字拼音的首字母,我们可以利用数据库针对中文字符集的排序功能创建一个这样的函数。本文分析了这种函数的工作原理,...
1.6. DB2实现类型ORACLE的一些功能 29 1.7. 字符数据类型转换的时候需要注意的问题(原) 30 1.8. 本地谓词的使用注意(原) 31 1.9. windows/Linux或Unix下查看DB2端口号 31 1.10. 尽量让fetch first n row only或者...
本文将介绍 DB2 提供的一些基本 XML 函数,并结合一个简单的实例,重点介绍如何利用 DB2 提供的 XML 函数以视图或查询的形式灵活的实现 XML 文档的构造和发布。同时文中还将介绍利用作者编制的一个工具,根据目标 ...
matlab 数字信号处理函数 matlab实现数字信号处理的一些经典理论 内涵: 滤波器的设计,模拟与数字 采样定律 Z变换与s域映射 卷积原因 截断效应 各种变换 如:DFS DFT IDFT 具体的如下: % 离散信号和系统 % conv_m...
#Linux下自动根据本地DB2数据库系统数据日期,获取两个服务器...实现DB2数据库异常状态下的脚本运行; #6.增加日志函数,便于清晰跟踪脚本执行情况; #7.tar.gz文件的批量解压; #8.对FTP目标文件夹是否存在进行判断;
开窗函数简介:与聚合函数一样,开窗函数也是对行集组进行聚合计算,但是它不像普通聚合函数那样每组只返回一个值,开窗函数可以为每组返回多个值,因为开窗函数所执行聚合计 算的行集组是窗口。在 ISO SQL 规定
sql 2005中用CTE实现递归的很好很易懂很基础的例子讲解。
sql 行转列 与列转行,oracle ,msssql等,详细数据库操作方法,各种例子,欢迎大家学习。、~
4.2.7 变量检测函数isset与变量释放 4.2.7 函数unset 66 4.2.8 随机函数rand与srand 66 4.3 关于引用的解释 67 4.3.1 对变量的引用 67 4.3.2 对函数的引用 68 4.3.3 引用的释放 68 4.4 小结 69 第5章 PHP中类的应用 ...
主流数据(ORACLE,DB2)行转列实例,包括2种实现方式,通过case..when和left join..on;大牛补充其他的实现方式。
汉字转拼音、汉字转五笔、中文转拼音、中文转五笔。自定义函数实现
数据库工具主要实现的功能是: 1、快速的比较两个库之间表、视图、存储过程、函数和触发器的不同,并可以生成SQL脚本,执行SQL脚本就可以完成两个库的同步操作; 2、提供方便快捷的数据库浏览,支持可视化复合条件...
1、数据库性能优化有那些措施(ORACLE/SYBASE/DB2/SQLSERVER选一种)2、写一个程序,把字符串倒叙,要求“你好呀”变为“呀好你”(处理中文)3、名次解释(继承、重载、接口)4、JAVA线程实现有那些方法,说明之5、...
本书始终围绕SQL标准和三大主要RDBMS(Oracle、IBM DB2和Microsoft SQL Server 2008)之间不同的实现而展开,详细介绍这三大供应商与标准之间的区别以及它们的特定实现。除了SQL的基本功能和用途外,本书还说明了SQL...
很好 很强大 欢迎指导 很完善的数据库课程设计 选修课管理程序设计,关键词:SQL语言;IBM DB2;数据库设计;学生选课管理系统
神通数据库所支持的数据类型包括:字符串类型、位串类型、精确数值类型、布尔型、近似数值类型、 日期类型、时间间隔类型、货币类型、二进制大对象、字符型大对象等。 • 提供功能强大的内置函数 神通数据库系统提供...