设为首页 收藏本站
查看: 1089|回复: 0

[经验分享] DB2常用函数(2)

[复制链接]

尚未签到

发表于 2016-11-14 01:57:52 | 显示全部楼层 |阅读模式
  DB2常用函数1、类型转化函数:

   1. decimal, double, Integer, smallint,real,Hex(arg),  
   2. date, time,timestamp,char, varchar  

常用举例:

转化为字符串类型

   1. Oracle: select to_char(15.5000) from dual;  
   2. DB2: select char(15.5000) from sysibm.sysdummy1  

转化为日期时间

   1. Oracle: select to_date('2008-01-01','yyyy-mm-dd') from dual;  
   2. DB2: select date('2008-01-01') from sysibm.sysdummy1  

DB2常用函数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的星期。

常用举例:

返回当前系统时间

   1. Oracle: select sysdate from dual;  
   2. DB2: select current date from sysibm.sysdummy1  

返回当前时间的下一天(年月 时 同理)

   1. Oracle: select sysdate,sysdate + interval '1' day from dual;  
   2. DB2: select current date + 1 day from sysibm.sysdummy1  

DB2常用函数3、字符串函数:

   1. 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,则返回剩余的字符。




常用举例:

空值处理函数

   1. Oracle: select nvl(null,'aaa') from dual;  
   2. DB2: db2 select coalesce(comm,1000) from staff;  

去空格:

Oracle: select trim(' abc ') from dual;默认去掉两端空格

select trim(heading '' from ' abc ') from dual 只去掉左端空格,也可用于去掉其它字符

select trim(trailing '' from ' abc ') from dual 只去掉右端空格,也可用于去掉其它字符

   1. DB2:  
   2. select ltrim(rtrim(' abc ')) from sysibm.sysdummy1  
   3. select ltrim(' abc ') from sysibm.sysdummy1  
   4. select rtrim(' abc ') from sysibm.sysdummy1  

返回字符串大写值,其实都用upper即可

   1. Oracle: select upper('abc') from dual;  
   2. DB2: select upper('abc') from sysibm.sysdummy1  

或者

   1. select ucase('abc') from sysibm.sysdummy1

合并字符串,Oracle和DB2相同都可以如下:

   1. Oracle: select concat('abcd','efg') from dual;  
   2. select 'abcd' || 'efg' from dual;  
   3. DB2: select concat('abcd','efg') from sysibm.sysdummy1  
   4. select 'abcd' || 'efg' from sysibm.sysdummy1  

DB2常用函数4、数学函数:

   1. Abs, count, max, min, sum

Ceil(arg):返回大于或等于arg的最小整数。

Floor(arg):返回小于或等于参数的最小整数。

Mod(arg1,arg2):返回arg1除以arg2的余数,符号与arg1相同。

Rand():返回1到10之间的随机数。

Power(arg1,arg2):返回arg1的arg2次方。

Round(arg1,arg2):四舍五入截断处理,arg2是位数,如果arg2为负,则对小数点前的数做四舍五入处理。

Sigh(arg):返回arg的符号指示符。-1,0,1表示。

truncate(arg1,arg2):截断arg1,arg2是位数,如果arg2是负数,则保留arg1小数点前的arg2位。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-299741-1-1.html 上篇帖子: DB2 730学习笔记3 下篇帖子: DB2 DPF 测试环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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