Oracle学习笔记007-1(单行函数:字符函数、数值函数、转换函数、日期函数)

函数介绍
  • Oracle SQL 提供了用于执行特定操作的专用函数,这些函数大大增强了 SQL 语言的功能,用法和大多数编程语言一样,接收数据项参数处理返回结果,函数可以接受零个或者多个输入参数,并返回一个输出结果。
  • 在Oracle中函数主要分为两类(本文主要介绍常用单行函数中的其中四个)
  1. 单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果.
  2. 聚合函数:聚合函数同时可以对多行数据进行操作,并返回一个结果。比如 SUM(x)
    返回结果集中 x 列的总合.
常用的单行函数
  • 字符函数:对字符串操作。

  • 数字函数:对数字进行计算,返回一个数字。

  • 转换函数:可以将一种数据类型转换为另外一种数据类型。

  • 日期函数:对日期和时间进行处理。

  • 空值相关函数:与NULL相关的函数

  • 解码编码相关函数

  • 函数嵌套 :一个含糊的返回值作为另一个函数的参数

常用字符函数
函数 说明 演示 结果
ASCII(parameter) 返回字符parameter的ASCII码 SELECT ASCII(‘X’) FROM DUAL; 88
CONCAT(parameter1,parameter2) 连接字符串parameter1和parameter2 SELECT CONCAT(‘HELLO’,‘WORLD’) FROM DUAL; HELLOWORLD
LENGTH(parameter) 返回parameter的长度 SELECT LENGTH(‘Oracle学习笔记’) FROM DUAL; 10
LOWER(parameter) parameter转换成小写 SELECT LOWER(‘JavaSE’) FROM DUAL; javase
UPPER(parameter) parameter转换成大写 SELECT UPPER(‘JavaSE’) FROM DUAL; JAVASE
LTRIM(parameter[,X]) 把parameter的左边截去X字符串,缺省截去空格 SELECT LTRIM(’###Hello–World###’,’###’) FROM DUAL; JAVASE
RTRIM(parameter[,X]) 把parameter的右边截去X字符串,缺省截去空格: SELECT RTRIM(’###Hello–World###’,’###’) FROM DUAL; JAVASE
TRIM([X FROM]parameter) 把parameter的两边截去X字符串,缺省截去空格 SELECT TRIM(’#‘FROM’#Hello–World#’) FROM DUAL; Hello–World
REPLACE(parameter,old,new) 在parameter中查找old,并替换成new SELECT REPLACE(‘Hello–World’,‘World’,‘nihao’) FROM DUAL; Hello–nihao
SUBSTR(parameter,start[,length]) 返回parameter的子串,从start处开始,截取length个字符,缺省length,默认到结尾 SELECT SUBSTR(‘Hello–World’,8,5) FROM DUAL; World
常用数值函数
函数 说明 演示 结果
ABS(X) X的绝对值 SELECT ABS(-9) FROM DUAL; 9
ACOS(X) X的反余弦 SELECT ACOS(1) FROM DUAL; 0
COS(X) 余弦 SELECT COS(1) FROM DUAL; 0.5403023058
CEIL(X) 大于或等于X的最小值 SELECT CEIL(9.9) FROM DUAL 10
FLOOR(X) 小于或等于X的最大值 SELECT FLOOR(9.9) FROM DUAL; 9
LOG(X,Y) X为底Y的对数 SELECT LOG(100,10) FROM DUAL; 0.5
MOD(X,Y) X除以Y的余数 SELECT MOD(10,3) FROM DUAL; 1
POWER(X,Y) X的Y次幂 SELECT POWER(2,5) FROM DUAL; 32
ROUND(X[,Y]) X在第Y位四舍五入 SELECT ROUND(3.14155926,2) FROM DUAL; 3.14
SQRT(X) X的平方根 SELECT SQRT(9) FROM DUAL; 3
TRUNC(X[,Y]) X在第Y位截断 SELECT TRUNC(3.1415926,3) FROM DUAL; 3.141
常用转换函数
--自动类型转换
SELECT 1+'99' FROM DUAL;

--将字符串转化为时间日期格式
SELECT add_months('15-3月-2020',2) FROM DUAL;

--TO_NUMBER   TO_CHAR   TO_DATE
SELECT SYSDATE FROM DUAL;

--把日期函数转换成字符串:TO_CHAR()
SELECT SYSDATE,TO_CHAR(SYSDATE) FROM DUAL;

--将数字转化为字符串
SELECT 1433223,TO_CHAR(1433223) FROM DUAL;

-- 将字符串转换成日期类型,必须要指定格式TO_DATE
SELECT MONTHS_BETWEEN(SYSDATE,TO_DATE('2019-03-15','YYYY-MM-DD')) FROM DUAL;

--将字符串转化为数字:字符串中必须只有数字
SELECT '123' ,TO_NUMBER('3.1415926') FROM DULA;

日期函数
  • ADD_MONTHS(d,n),在某一个日期 d 上,加上指定的月数 n,返回计算后的新日期,d 表示日期,n 表示要加的月数

  • LAST_DAY(d),返回指定日期当月的最后一天

  • ROUND(d[,format]),返回一个以 format 为格式的四舍五入日期值, d 是日期, format 是格式

    ① 如果 format 为“YEAR”则舍入到某年的 1 月 1 日,即前半年舍去,后半年作为下一年

    ② 如果 format 为“MONTH”则舍入到某月的 1 日,即前月舍去,后半月作为下一月

    ③ 如果 format 为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日

多种日期格式
  1. YYYY:四位表示的年份
  2. YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪
  3. IYYY:ISO标准的四位年份
  4. MM:01~12的月份编号
  5. MONTH:全拼字符集表示的月份,右边用空格填补
  6. D:当周第几天
  7. DD:当月第几天
  8. DDD:当年第几天
  9. HH,HH12:一天中的第几个小时,12进制表示法
  10. HH24:一天中的第几个小时,取值为00~23
  11. MI:一小时中的分钟
  12. SS:一分钟中的秒
常用日期查询
SELECT TRUNC(SYSDATE,'YEAR') FROM DUAL;

SELECT TRUNC(SYSDATE,'MONTH') FROM DUAL;

SELECT TRUNC(SYSDATE,'DAY') FROM DUAL;

--查询当天日期
SELECT TRUNC(SYSDATE) FROM DUAL;

--查询当月的第一天
SELECT TRUNC(SYSDATE, 'MM') FROM DUAL;

--查询当年第一天
SELECT TRUNC(SYSDATE,'YY') FROM DUAL;

--返回当前时间
SELECT TRUNC(SYSDATE, 'HH') FROM DUAL;


边学习边记录,若有不足之处欢迎留言指点…

发布了63 篇原创文章 · 获赞 1 · 访问量 2022

猜你喜欢

转载自blog.csdn.net/qq_45061361/article/details/104875399