oracle 中函数的使用

-- oracle 中函数的使用--

-----------------------字符函数----------------------------

-- UPPER 函数,转换成大写
SELECT UPPER(TEST.TNAME)
FROM TEST;

-- LOSER 函数,转换成小写
SELECT LOWER(TEST.TNAME)
FROM TEST;

-- INITCAP 函数,将字符串中的单词的首字母转换成大写,其他字符转换成小写
SELECT INITCAP(TEST.TNAME)
FROM TEST;

-- CONCAT 函数, 将 字符串进行拼接然后显示。
SELECT CONCAT( TEST.TNAME , 'WU' ) "字符串拼接"
FROM TEST
WHERE TEST.TNAME = 'ZHANG';

SELECT TEST.TNAME || 'WU' "字符串拼接"
FROM TEST
WHERE TEST.TNAME = 'ZHANG';

-- SUBSTR 函数, 将 字符串进行截取
SELECT SUBSTR( TEST.TNAME, 1, 3 ) "字符串截取"
FROM TEST;

-- LENGTH 函数, 统计 字符串的长度
SELECT LENGTH( TEST.TNAME )
FROM TEST;

-- INSTR 函数, 统计 子字符串在字符串中第一次出现的位置
SELECT INSTR( TEST.TNAME, 'H' ) "第一次出现的位置"
FROM TEST;

SELECT INSTR( TEST.TNAME, 'ZH' )
FROM TEST;

-- LPAD 函数, 从最左边进行数据的拼接。
--函数规则 LPAD( "目标字符", 拼接之后的长度, 拼接的字符 )
/*如果拼接之后的长度,小于目标字符的长度,不进行拼接,只会从左截取目标字符相应长度的字符。
  如果拼接之后的长度,小于目标字符的长度,会重复的拼接,直到拼接之后的字符长度满足要求。
  如果拼接字符没有填写,默认在目标字符最左边添加空串。*/
SELECT LPAD( TEST.TNAME, 13, '1' )
FROM TEST;

-- RPAD 函数, 从最右边进行数据的拼接
SELECT RPAD( TEST.TNAME, 18, '123' )
FROM TEST;

-- TRIM 函数,
SELECT TRIM( TEST.TNAME ) "去掉首尾空格"
FROM TEST;

-- REPLACE 函数, 替换目标字符串中出现的所有的字符
-- 语法规则:REPLACE( 目标字符串,被替换的字符,替换字符 ),会替换目标字符串中出现的所有的字符。
SELECT REPLACE( TEST.TNAME, 'g' ,'G')
FROM TEST;


---------------     数值型函数        ----------------

-- ROUND函数,四舍五入,可以精确小数位数

SELECT ROUND( TEST.AGE /3 ,2 )FROM TEST;

-- TRUNC函数,直接截取到相应的小数位数,不进行四舍五入运算
SELECT TRUNC( TEST.AGE / 3 , 2 )
FROM TEST;

-- FLOOR函数, 向下取整
SELECT FLOOR( TEST.AGE / 3)
FROM TEST;

-- MOD函数,返回算数运算后的余数. 规则: MOD(被除数,除数)
SELECT MOD( TEST.AGE , 3 )
FROM TEST;

-- ----------------------- 日期类型的函数 ------------------------

-- 获取系统当前时间
SELECT SYSDATE
FROM TEST;

-- 获取系统时间后一天的时间
SELECT SYSDATE + 1
FROM TEST;

-- 获取系统时间前一天的时间
SELECT SYSDATE - 1
FROM TEST;

-- 获取系统时间 与 某一个时间点间隔多少天
SELECT SYSDATE - TEST.HIREDATE
FROM TEST;

-- MONTHS_BETWEEN 两个时间点间隔几个月
SELECT MONTHS_BETWEEN(SYSDATE, TEST.HIREDATE)
FROM TEST;

-- ADD_MONTHS 在一个时间点上增加几个月或者减少几个月
SELECT ADD_MONTHS( SYSDATE, -1 )
FROM TEST;

SELECT ADD_MONTHS( SYSDATE, 1 )
FROM TEST;

-- LAST_DAY 指定日期的所在月的最后的一天的日期
SELECT LAST_DAY(SYSDATE)
FROM TEST;


-- EXTRACT 获取到指定日期的年,月,日。这些具体信息
/*
   语法:EXTRACT( YEAR FROM 目标日期 )    目标日期的年份
         EXTRACT( MONTH FROM 目标日期 )   目标日期的月份
         EXTRACT( DAR FROM 目标日期 )    目标日期的所在天
*/

SELECT EMP.ENAME,
       EXTRACT(YEAR FROM EMP.HIREDATE) "年",
       EXTRACT(MONTH FROM EMP.HIREDATE) "月",
       EXTRACT(DAY FROM EMP.HIREDATE) "日"
FROM EMP;

猜你喜欢

转载自www.cnblogs.com/rensheng/p/10018030.html
今日推荐