oracle sql 时间差

问题:

要用sql 计算两个字段的时间差,字段存储字符串类型的,不是时间戳 是 把时间 按照"yyyymmddmimiss"储存的 ,有些还是空值
1 先把空值重置成一个时间
用decode()函数,
decode(字段A,值1,值2,值3),
字段A 值1 是判断条件 为真 取值2 为假 取值3
例如: 字段 time 数据库里的值是 20
decode(time, 20 , 50, 60) 这里 得到的值是 50
字段 time 数据库里的值是 20
decode(time, 30 , 50, 60) 这里得到的值是 60
当然还有多值的情况这里就不一一举例说明了 例如
decode(字段,值1 ,值2 ,值3… 值n)
2 先把字符类型的转换为时间类型了
我们用to_date()函数
以时间:2007-11-02 13:45:25为例
to_date(‘2007-11-02 13:45:25’,‘yyyy-mm-dd hh24:mi:ss’)
就行了得到的是时间类型了
这里的得到的格式是标准格式 可以在转换但是我们计算时间差是可以用这个格式的
3 计算时间差
ROUND(TO_NUMBER(时间1-时间2)) * 24 * 60
这里我是先变成数字在计算得出得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值