加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle 中函数的使用

发布时间:2020-12-12 13:39:41 所属栏目:百科 来源:网络整理
导读:-- oracle 中函数的使用-- -----------------------字符函数---------------------------- -- UPPER 函数,转换成大写 SELECT UPPER(TEST.TNAME) FROM TEST; -- LOSER 函数,转换成小写 SELECT LOWER(TEST.TNAME) FROM TEST; -- INITCAP 函数,将字符串中的

-- 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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读