oracle 中函数的使用

前端之家收集整理的这篇文章主要介绍了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;

猜你在找的Oracle相关文章