Oracle SQL 函数

一.字符函数

在 SELECT 语句中使用字符,数字,日期和转换函数
接收字符输入返回字符或者数值,dual是伪表

  1. 把小写字符转换成大写字符
    在这里插入图片描述

  2. 把大写字符变成小写字符
    在这里插入图片描述

  3. 把首字符换成大写
    在这里插入图片描述

  4. 字符串的连接可以使用concat可以使用“||”建议使用“||”
    在这里插入图片描述

  5. 字符串的截取,使用substr,第一个参数是源字符串,第二个参数是开始索引,第三个参数长度,开始的索引使用1和0效果相同
    substr(‘Hello’,1,3)
    在这里插入图片描述

  6. 获取字符串的长度
    在这里插入图片描述

  7. 字符串替换,第一个参数是源字符串,第二个参数被替换的字符串,第三个是替换字符串
    在这里插入图片描述

二.数值函数

单行函数:
• 操作数据对象
• 接受参数返回一个结果
• 只对一行进行变换
• 每行返回一个结果
• 可以转换数据类型

• 可以嵌套

  1. 四舍五入函数:ROUND()
    默认情况下ROUND四舍五入取整,可以自己指定保留的位数。
    在这里插入图片描述
    在这里插入图片描述
  2. 取整:TRUNC(),默认全部去掉小数,也可以指定保留的位数 在这里插入图片描述
  3. 取余数MOD()
    在这里插入图片描述

三.日期函数

Oracle中日期实际含有两个值:日期和时间,包括日期的加减,在日期加减时有一些规律
• 在日期上加上或减去一个数字结果仍为日期。
• 两个日期相减返回日期之间相差的天数。
-日期不允许做加法运算,无意义
• 可以用数字除24来向日期中加上或减去天数。

  1. sysdate:返回当前系统(Oracle服务器)时间
    在这里插入图片描述
  2. 例:查询雇员的进入公司的周数。
    分析:查询雇员进入公司的天数(sysdate – 入职日期)/7就是周数
    在这里插入图片描述
  3. 获得两个时间段中的月数:MONTHS_BETWEEN()
    例:查询所有雇员进入公司的月数
    在这里插入图片描述
  4. 获得几个月后的日期:ADD_MONTHS()
    例:求出三个月后的日期
    在这里插入图片描述

四.转换函数

格式:
• 必须包含在单引号中而且大小写敏感。
• 可以包含任意的有效的日期格式。
• 日期之间用逗号隔开。

  1. TO_CHAR 函数对日期的转换
    在这里插入图片描述
  2. TO_CHAR还可以给数字做格式化
    例:把雇员的工资按三位用“,”分隔,在oracle中“9”代表一位数字
    在这里插入图片描述
  3. 如果在钱的前面加上国家的符号可以使用“$”代表是美元,如果要使用本地的钱的单位使用“L”
    在这里插入图片描述
    在这里插入图片描述
  4. TO_NUMBER:数值转换函数
    TO_NUMBER可以把字符串转换成数值
    在这里插入图片描述
  5. TO_DATE:日期转换函数
    TO_DATE可以把字符串的数据转换成日期类型
    在这里插入图片描述

五.通用函数

通用函数 适用于任何数据类型,同时也适用于空值:

1.空值处理 NVL
示例:查询所有的雇员的年薪
在这里插入图片描述
我们有员工的年薪是空的,原因是员工的奖金是null,null和任何数值计算都是null,
这时我们可以使用nvl来处理。
在这里插入图片描述
2.case when

  • 在 SQL 语句中使用IF-THEN-ELSE 逻辑
  • 使用两种方法:
    a) CASE 表达式
    b) DECODE 函数
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值