db2数据库中的数据类型

以前学习的是oracle数据库,最近的项目用的是db2,所以准备学习一下db2的知识,

准备从oracle和db2的不同处开始学习,毕竟相同的地方重复学也没意思,在网上找了一下oracle和db2语法区别的博文看了看

http://blog.sina.com.cn/s/blog_7017f4a801015e65.html


select t.* ,rownumber()over() from tuser t--分页语句
select  id  from tuser fetch first 5  rows  only --查出前5行
Select current timestamp from sysibm.sysdummy1;--注意sysdummy1最后一个字符为数字1
Select t.*,value(age,'0') 年龄,Coalesce(age,'0') from tuser t;--这两个函数相当于oracle中的nvl函数
select varchar(current timestamp) from sysibm.sysdummy1--将时间转化为字符串,需要注意的是直接用varchar转为字符串的格式
<img src="https://img-blog.csdn.net/20160523000244639?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
select year(current timestamp)||'-'||month(current  timestamp)||'-'||day(current timestamp)||' '||hour(current timestamp)||':'||minute(current timestamp)||':'||second(current timestamp) from sysIBM.sysdummy1
select t.*, extract(year from current date) from tuser t
select current date from sysibm.sysdummy1--日期
select current timestamp from sysibm.sysdummy1--准确时间
select extract(month from current timestamp) from sysibm.sysdummy1--截取月份数
select add_months(current date,3) from sysibm.sysdummy1-- 加三个月
select add_months(trunc(last_day(sysdate),'yyyy'),12)  from sysibm.sysdummy1 --这个月最后一天
select extract( day from sysdate) from sysibm.sysdummy1--相当于timestamp 
select  trunc(date(days(trunc(current date))) ,'d')from sysibm.sysdummy1 --
select date(trunc(current date,'q'))  from sysibm.sysdummy1--本季度第一天
select trunc( current timestamp) from sysibm.sysdummy1
select date(days(trunc( current timestamp))+1)  from sysibm.sysdummy1--在db2中时间类型不能直接加数字类型  必须用days转化为数字类型的天数 然后再将数字转化为时间
select date(days(add_months(trunc(current timestamp,'yyyy'),12))-1) from sysibm.sysdummy1--本年度最后一天

select decode(age,null,0) from tuser  --和oracle一样
WITH  al  AS (select max(id)  as  s  from tuser )   select id,s  from tuser,al where tuser.id=al.s  --和oracle中用法相同
create table amm like tuser--复制表结构
向复制的表结构中赋原来的值   insert into am select * from tuser
不知道为什么create table amm as select id,name,sex,money,age  from tuser definition  only 我并没有运行成功,所以<span style="font-family: Arial, Helvetica, sans-serif;">并没有找到向oracle中那样直接</span>
<span style="font-family: Arial, Helvetica, sans-serif;">一起复制表结构和数据的</span>

不知道为什么很多地方在db2中用时间的时候  大都用current date 和current timestamp 我发现在db2中sysdate这个oracle中用作时间的也能用,但是很少看到别人用


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值