oracle 中函数的使用
Posted Java半路人生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 中函数的使用的主要内容,如果未能解决你的问题,请参考以下文章