SQL单行函数

单行函数

单行函数,指的是完成某一具体功能的操作函数。
按类型分为以下几种:

  1. 字符串函数
  2. 数值函数
  3. 日期函数
  4. 转换函数
  5. 通用函数
1. 字符串函数
NO.函数名称描述
1字符串 UPPER(字符串)将传入的字符串变为大写字母形式
2字符串 LOWER(字符串)将传入的字符串变为小写字母形式
3字符串 INITCAP(字符串)开头首字母大写,其他的字母全部变为小写
4字符串 LENGTH(字符串)取得指定字符串的长度
5字符串 SUBSTR(字符串,开始索引,[长度])进行字符串的截取,如果没有设置长度,表示从开始索引一直截取到结尾
6字符串 REPLACE(字符串,旧内容,新内容)将指定字符串的数据以新数据替换旧数据
2. 数值函数
NO.函数名称描述
1数字 ROUND (数字, 小数位)实现数据的四舍五入,可以设置保留小数位
2数字 TRUNC(数字, 小数位)实现数据的截取,即:不进位
3数字 MOD(数字,数字)求模(计算余数)

TRUNC()函数和ROUND()函数的使用形式上差别不大,唯一的区别在于TRUNC()是不会进位的。

3. 日期函数

取得当前的日期时间:SYSDATE(包含有日期时间的内容)
三个日期的操作公式:

  • 日期+数字=日期(表示若干天之后的日期)
  • 日期-数字=日期(表示若干天之前的日期)
  • 日期-日期=数字(天数)
NO函数名称描述
1日期 ADD_MONTHS(日期,月数)在指定的日期上增加若干个月之后的日期
2日期 MONTHS_BETWEEN(日期,日期)返回两个日期之间的所经历的月数
3日期 LAST_DAY(日期)取得指定日期所在月的最后一天
4日期 NEXT_DAY(日期,星期X)返回下一个指定的一周时间数对应的日期
4、转换函数
NO.函数名称描述
1字符串 TO_CHAR(日期/数字,转换格式)将日期或数字格式化为制定结构的字符串
2日期 TO_DATE(字符串,转换格式)将照指定的转换格式编写字符串后将其变为日期型数据
3数字 TO_NUMBER(字符串)将字符串变为数字

TO_CHAR将一个日期或数字变为字符串,转换格式的标记如下:

  • 日期:年(yyyy)、月(mm)、日(dd);
  • 时间:时(hh、hh24)、分(mi)、秒(ss);
  • 数字:任意数字(9)、本地货币符号(L)。
5. 通用函数
NO.函数名称描述
1数字 NVL(NULL,默认值)如果传入的内容是null,则使用默认数值处理,如果不是空则使用原始数值处理。
2数据类型 DECODE(字符串/数值,比较内容1,显示内容1,比较内容2,显示内容2,… [,默认显示内容])设置的内容会与每一个比较内容进行比较,如果内容相同,则会使用显示内容进行输出,如果都不相同,则使用最后的默认信息输出。

以scott表查询为例说明:

  1. 处理null函数
    【范例】要求查询出每个雇员的编号、姓名、基本工资、佣金、年薪
    SELECT empno,ename,sal,comm,(sal+comm)*12 FROM emp;
    发现计算之后,没有佣金的雇员就没有年薪存在了,因为佣金位null的时候所做的任何计算结果都是null。为了保证计算的准确性,必须将null替换为0,那么这就属于NVL()函数的作用范围了。
    SELECT empno,ename,sal,comm,(sal+NVL(comm,0))*12 FROM emp;

  2. decode()函数
    decode()函数 程序的if…else感觉,但是与if…else不同的是,此处不能够判断关系,只能够判断内容是否相同。
    【范例】将所有的职位信息替换为中文显示
    SELECT ename,job,DECODE(job,‘CLERK’,‘办事员’,‘SALESMAN’,‘销售员’,‘MANAGER’,‘经理’,‘PRESIDENT’,‘总裁’,’—’) FROM emp;
    在一些笔试里面,decode()函数还是会经常被问到的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值