DB2常用函数

简介:
DB2分页
/*foo*/ select * from ( select  rownumber() over() as rownumber_, * from foos ) as temp_ where rownumber_ between ?+1 and ?
/*foo*/ select * from ( select  rownumber() over() as rownumber_, row_.* from ( select distinct * from foos ) as row_ ) as temp_ where rownumber_ between ?+1 and ?
/*foo*/ select * from ( select  rownumber() over(order by foo.bar, foo.baz) as rownumber_, * from foos foo order by foo.bar, foo.baz ) as temp_ where rownumber_ between ?+1 and ?
/*foo*/ select * from ( select  rownumber() over() as rownumber_, row_.* from ( select distinct * from foos foo order by foo.bar, foo.baz ) as row_ ) as temp_ where rownumber_ between ?+1 and ?
 
语句:
case when  expression then ... else ... end;
SELECT Name, Dept, Address..street, Address..number, Address..city,
      Address..state,
      CASE
         WHEN Address IS OF (US_addr_t) 
         THEN TREAT(Address AS US_addr_t)..zip
         WHEN Address IS OF (Germany_addr_t) 
         THEN TREAT (Address AS Germany_addr_t)..family_name
         WHEN Address IS OF (Brazil_addr_t)
         THEN TREAT (Address AS Brazil_addr_t)..neighborhood
      ELSE NULL END
      FROM Employee
      WHERE Salary > 20000;
 
1、类型转化函数: 
   转化为数字类型的: 
decimal, double, Integer, smallint,real 
Hex
(arg):转化为参数的16进制表示。 
   转化为字符串类型的: 
char, varchar 
Digits
(arg):返回arg的字符串表示法,arg必须为decimal。 
   转化为日期时间的: 
date, time,timestamp 
2、时间日期: 
year, quarter, month, week, day, hour, minute ,second 
dayofyear(arg):返回arg在年内的天值 
Dayofweek(arg):返回arg在周内的天值 
days(arg):返回日期的整数表示法,从0001-01-01来的天数。  
midnight_seconds(arg):午夜和arg之间的秒数。 
Monthname(arg):返回arg的月份名。 
Dayname(arg):返回arg的星期。  
3、字符串函数: 
length,lcase, ucase, ltrim, rtrim 
Coalesce(arg1,arg2….):返回参数集中第一个非null参数。 
Concat (arg1,arg2):连接两个字符串arg1和arg2。 
insert(arg1,pos,size,arg2):返回一个,将arg1从pos处删除size个字符,将arg2插入该位置。 
left(arg,length):返回arg最左边的length个字符串。 
locate(arg1,arg2,<pos>):在arg2中查找arg1第一次出现的位置,指定pos,则从arg2的pos处开始找arg1第一次出现的位置。 
posstr(arg1,arg2):返回arg2第一次在arg1中出现的位置。 
repeat(arg1 ,num_times):返回arg1被重复num_times次的字符串。 
replace(arg1,arg2,arg3):将在arg1中的所有arg2替换成arg3。 
right(arg,length):返回一个有arg左边length个字节组成的字符串。 
space(arg):返回一个包含arg个空格的字符串。 
substr(arg1,pos,<length>):返回arg1中pos位置开始的length个字符,如果没指定length,则返回剩余的字符。 
4、数学函数:  
Abs, count, max, min, sum 
Ceil(arg):返回大于或等于arg的最小整数。 
Floor(arg):返回小于或等于参数的最小整数。 
Mod(arg1,arg2):返回arg1除以arg2的余数,符号与arg1相同。 
Rand():返回1到1之间的随机数。 
Power(arg1,arg2):返回arg1的arg2次方。 
Round(arg1,arg2):四舍五入截断处理,arg2是位数,如果arg2为负,则对小数点前的数做四舍五入处理。 
Sigh(arg):返回arg的符号指示符。-1,0,1表示。 
truncate(arg1,arg2):截断arg1,arg2是位数,如果arg2是负数,则保留arg1小数点前的arg2位。 

5、其他: 
nullif(arg1,arg2):如果2个参数相等,则返回null,否则,返回参数1









本文转自 王杰瑞 51CTO博客,原文链接:http://blog.51cto.com/wangjierui/45977,如需转载请自行联系原作者
目录
相关文章
|
Web App开发 前端开发 数据库
推荐GitHub上开源的一款独立开发者出海技术栈和工具合集
推荐GitHub上开源的一款独立开发者出海技术栈和工具合集
980 0
|
人工智能 缓存 Cloud Native
DeepSeek-R1 来了,从 OpenAI 平滑迁移到 DeepSeek的方法
Higress 作为一款开源的 AI 网关工具,可以提供基于灰度+观测的平滑迁移方案。
2656 262
|
8月前
|
人工智能 边缘计算 算法
教学机器人技术深度解析与主流产品选型指南
教育机器人正从“电子教具”迈向“认知伙伴”,深度融入教学、科研、心理辅导等场景。依托神经符号融合引擎、多模态感知、边缘计算等核心技术,实现精准答疑、情感交互与数据安全。猎户星空、优必选、科大讯飞、大疆等企业各具优势,推动教育智能化向纵深发展。(238字)
|
Linux 对象存储 Windows
MinIO 客户端安装与使用教程
详细讲解MinIO CLI的安装与使用
6265 0
|
人工智能 自然语言处理 算法
随机的暴力美学蒙特卡洛方法 | python小知识
蒙特卡洛方法是一种基于随机采样的计算算法,广泛应用于物理学、金融、工程等领域。它通过重复随机采样来解决复杂问题,尤其适用于难以用解析方法求解的情况。该方法起源于二战期间的曼哈顿计划,由斯坦尼斯拉夫·乌拉姆等人提出。核心思想是通过大量随机样本来近似真实结果,如估算π值的经典示例。蒙特卡洛树搜索(MCTS)是其高级应用,常用于游戏AI和决策优化。Python中可通过简单代码实现蒙特卡洛方法,展示其在文本生成等领域的潜力。随着计算能力提升,蒙特卡洛方法的应用范围不断扩大,成为处理不确定性和复杂系统的重要工具。
1221 21
|
机器学习/深度学习 资源调度 自动驾驶
OFDM:赋能5G通信的基石
OFDM:赋能5G通信的基石
1797 3
|
安全 Java 数据安全/隐私保护
探讨 Java 代码混淆加固工具
探讨 Java 代码混淆加固工具
|
存储 测试技术 数据处理
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
阿里云实时计算企业级状态存储引擎 Gemini 技术解读
735 57
|
Java Android开发
Android 12 自定义底部导航栏
Android 12 自定义底部导航栏
825 4
|
Java 索引
Java中indexOf函数详解
Java中indexOf函数详解
1180 0