JAVA(Oracle常用函数介绍)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求余数 SELECT mod(17,5) FROM dual;
返回固定小数位数 (round:四舍五入,trunc:直接截断)
SELECT round(66.667,2) N1,trunc(66.667,2) N2 FROM dual;
返回值的符号(正数返回为1,负数为-1) SELECT sign(-32),sign(293) FROM dual;
SELECT department_id, COUNT(*), SUM(salary)
FROM employees GROUP BY department_id HAVING COUNT(*)>=5;
作业
Minute: mi two digits 60进制 Second: ss two digits 60进制
显示值:2007 显示值:11月 显示值:02
显示值:01 显示值:13 显示值:45 显示值:25
SELECT to_date('2007-11-02 13:45:25','yyyy-mm-dd hh24:mi:ss') FROM dual
Oracle培训系列
常用函数介绍
Oracle函数(运算符 )
• 算术运算符:+ - * / 可以在select 语句中使用 • 连接运算符:|| SELECT department_id||','||department_name FROM departments; • 比较运算符:> >= = != < <= like between is null in • 逻辑运算符:not and or • 集合运算符: intersect ,union, union all, minus
两个日期间的天数 SELECT floor(SYSDATE - to_date('2002/04/05','yyyy/mm/dd')) FROM dual;
Next_day下个星期一是几号 SELECT next_day(SYSDATE, ‘星期一') FROM dual;
获得当前分解日期或时间 SELECT SYSDATE ,to_char(SYSDATE,'hh') FROM dual;
--部门ID --最高工资 --最低工资 --平均工资 --工资总额 --部门总人数 --部门职位数
Oracle函数(分组函数)
在分组GROUP BY 中,一般都不管统计的结果 是多少都要全显示,我们可以在GROUP BY 前或后 加 HAVING 子句来限制结果的统计,比如要求被 统计的人数有5个人以上。
Oracle函数(日期时间)
TO_DATE,TO_CHAR函数 (以时间:2007-11-02 13:45:25为例)
Year: yyyy four digits 四位年 Month: month spelled out 字符集表示 Day: dd number 当月第几天
Hour: hh two digits 12小时进制 hh24 two digits 24小时进制
计算时差 SELECT to_char(NEW_TIME(SYSDATE, 'GMT','EST'), 'yyyy/mm/dd hh:mi:ss'), SYSDATE FROM dual;
Oracle函数(日期时间)
一年的第几天 SELECT TO_CHAR(SYSDATE,'DDD'),SYSDATE FROM dual;
例:集合运算符的使用: intersect ,union, union all, minus SELECT department_id FROM employees INTERSECT SELECT department_id FROM departments;
SELECT department_id FROM departments MINUS SELECT department_id FROM employees;er(3,2) N1,sqrt(9) N2 FROM dual;
Oracle函数(转换函数)
to_char()将日期和数字类型转换成字符类型 SELECT to_char(SYSDATE) s1,
to_char(SYSDATE,'yyyy-mm-dd') s2, to_char(SYSDATE,'yyyy') s3, to_char(SYSDATE,'yyyy-mm-dd hh12:mi:ss') s4, to_char(SYSDATE, 'hh24:mi:ss') s5, to_char(SYSDATE,'DAY') s6 FROM dual; SELECT to_char(7863.25,‘$9999.99’) n1, to_char(7863.25,‘$9,999.99’) n2 FROM dual;
--最高工资 --最低工资 --平均工资 --工资总额 --部门总人数 --部门职位数
带group by的分组 SELECT department_id,
MAX(salary), MIN(salary), AVG(salary), SUM(salary), COUNT(*), COUNT(DISTINCT(job_id)) FROM employees GROUP BY department_id;
to_date()将字符类型转换为日期类型 SELECT to_date('2004-10-10','yyyy-mm-dd') FROM dual;
to_number() 转换为数字类型 SELECT to_number('123.45') FROM dual;
nvl(ex1,ex2) ex1值为空则返回ex2,否则返回该值本身ex1 SELECT first_name,nvl(commission_pct,0) FROM employees;
字符串替换 SELECT replace('abc','b','xy') FROM dual;
字符串填充 SELECT lpad('func',15,'=') s1, rpad('func',15,'-') s2 FROM dual;
Oracle函数(数字函数)
取整函数(ceil 向上取整,floor 向下取整) SELECT ceil(66.6) N1,floor(66.6) N2 FROM dual;
Oracle函数(分组函数)
整个结果集是一个组 SELECT MAX(salary),
MIN(salary), AVG(salary), SUM(salary), COUNT(*), COUNT(DISTINCT(job_id)) FROM employees WHERE department_id=30;
去掉字符串中的空格 SELECT LTRIM(' abc') s1, RTRIM('abc ') s2, TRIM(' abc ') s3 FROM dual;
计算字符串长度 SELECT length('abcdef') FROM dual;
大小写转换 SELECT lower('ABC') s1, upper('abc') s2, initcap('abc') s3 FROM dual;
SELECT * FROM employees WHERE department_id=100 UNION SELECT * FROM tab1 WHERE department_id IN (100,110); --不包括重复行
SELECT * FROM employees WHERE department_id=100 UNION ALL SELECT * FROM tab1 WHERE department_id IN (100,110); --包括重复行
获得上个月和这个月的第一天和最后一天 SELECT Trunc(Trunc(SYSDATE,'MONTH')-1,'MONTH') First_Day_Last_Month, Trunc(SYSDATE,'MONTH')-1/86400 Last_Day_Last_Month, Trunc(SYSDATE,'MONTH') First_Day_Cur_Month, LAST_DAY(Trunc(SYSDATE,'MONTH'))+1-1/86400 Last_Day_Cur_Month FROM dual;
今年的天数 SELECT add_months(TRUNC(SYSDATE,'year'), 12) - trunc(SYSDATE,'year') FROM dual;
加减N月的日期 SELECT add_months(SYSDATE,-6) AS newTime,SYSDATE FROM dual;
Oracle函数(日期时间)
求某天是星期几 SELECT to_char(to_date(‘2002-08-26’,‘yyyy-mm-dd’),‘day’) FROM dual;
设置日期语言 SELECT to_char(to_date(‘2002-08-26’,‘yyyy-mm-dd’),‘day’, 'NLS_DATE_LANGUAGE = American') FROM dual;
Oracle函数(字符串处理)
字符串截取 SELECT substr('abcdef',1,3) FROM dual;
查找子串位置 SELECT INSTR('abcfdgfdhd','fd') FROM dual;
字符串连接 SELECT 'Hello '||'world' FROM dual;
相关文档
最新文档