oracle相关函数

--NVL函数
--nvl(expr1,expr2)
如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。
-- NVL2函数

NVL2函数的格式如下:NVL2(expr1,expr2, expr3)

含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。

--oracle 函数 wm_concat(column)
合并字段
表名 TEXT
id   price     name
1      2       苹果
2      3       香蕉
3      2       草莓
4      3       橘子
5      2       梨
6      2       火龙果
SQL:
select t.price, wm_concat(t.name) names from TEXT t group by t.price

结果:
price    names
2        苹果,草莓,梨,火龙果
3        香蕉,橘子

在Oracle10g中结果是VARCHAR类型,在Oracle11g中结果是CLOB类型
版本通用
select t.price,to_char(wm_concat(t.name)) names from TEXT t group by t.price
1. trunc( date)

trunc 以指定的元素截取日期类型的数据

语法:trunc(date,[ format])

date– 日期格式的值

format–日期格式 如‘mm','yyyy'等 将date从指定日期格式截取
-- yyyy-mm-dd hh24:mi:ss
例如:

trunc(sysdate,'yyyy')=‘01-01月-17'(sysdate='21-11月-17'); --返回今年的第一天
trunc(sysdate,'mm')=‘01-11月-17'; --返回本月第一天
trunc(sysdate,'d')=‘19-11月-17'; --(今天星期二,一周从周日开始计算)返回本周第一天

2 Trunc(number,[number1])

trunc(number) 和round( ) 相似 ,只是不对截去的第一位数字不进行四舍五入

round(89.125,2)=89.13
trunc(89.125,2)=89.12
trunc(89.125,-1)=80

number1 的默认值是 0。

-----------------------------------------------------
--判断两个时间是否在同一天
select 
    trunc(to_date('时间一', 'YYYY-MM-DD HH24:MI:SS'), 'dd') -
    trunc(to_date('时间二', 'YYYY-MM-DD HH24:MI:SS'), 'dd')) -- != 0
from dual;
--如果结果等于0就是在同一天,不等于0就不是同一天。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值