-- oracle内置函数
SELECT SYSDATE from dual
-- 截取出年月日
SELECT TO_CHAR(sysdate,'yyyy') from dual;
SELECT TO_CHAR(sysdate,'MM') from dual;
SELECT TO_CHAR(sysdate,'dd') from dual;
-- 拼接出年月日
SELECT CONCAT(
(SELECT CONCAT(
(SELECT TO_CHAR(sysdate,'yyyy') from dual),
(SELECT TO_CHAR(sysdate,'MM') from dual)) from dual),
(SELECT TO_CHAR(sysdate,'dd') from dual)) from dual;
-- 当前时间减去7分钟
SELECT SYSDATE,sysdate - interval '7' MINUTE from dual;
-- 获得这个月的第一天
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1 FROM DUAL;
-- 获得上个月的今天 ADD_MONTHS增加月份
SELECT ADD_MONTHS(SYSDATE,-1) from dual;
-- 获得上个月的最后一天
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) from dual;
-- 获取当前时间的年月日
SELECT TO_CHAR(SYSDATE, 'yyyymmdd') from dual;
-- 获取当前属于哪个季节
select to_char(sysdate, 'Q') from dual;
-- 获取当前属于一年的那一周
SELECT TO_CHAR(SYSDATE,'iw') from dual;
-- 截取年月日
SELECT SUBSTR(SYSDATE, 0, 10) from dual;
-- 将字符串首字母变为大写
SELECT INITCAP('sasasasa') from dual;
-- 在一个字符串中搜索指定的字符串,返回字符串位置
select INSTR('mysql_Oracle_sqlServer', 'sql') from dual;
-- 1为搜索开始位置 2匹配序号(几次出现)
select instr('oracle traning','a',1,2) instring from dual;
-- 通用转化函数
select cast('123456' as number) from dual;
-- 替换字符串
select REPLACE('123456789', 2, 3) from dual;
-- 常用的数学函数
-- 绝对值函数
select abs(-10) from dual;
-- 四舍五入
select round(6.49,1) from dual;
-- 数值截取 截取整数部分
SELECT trunc(5.98553) from dual;
-- 产生上限值 比这个数来说最小的整数
SELECT CEIL(5.56) from dual;
-- 产生下限值 比这个数来说最大的整数
SELECT floor(5.56) from dual;
-- 替换函数
-- nvl将空值替换成缺省值
SELECT nvl(null,0) from dual;
-- nvl2函数 相当于判断 缺省填第三个参数,不缺填第二个参数
select NVL2('ed', '2222', '333') from dual;