--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就不是同一天。