4. 单行函数

本文详细介绍了SQL中的各种常用函数,包括单行函数如字符函数、数字函数、日期函数等,以及如何进行数据类型转换。通过具体实例展示了函数的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单行函数

  • 操作数据对象
  • 接受参数返回一个结果
  • 只对一行进行变换
  • 每行返回一个结果
  • 可以转换数据类型
  • 可以嵌套
  • 参数可以是一列或一个值
function_name [(arg1, arg2,...)]

这里写图片描述

字符函数

这里写图片描述

大小写控制函数

这类函数改变字符的大小写。

函数结果
LOWER(‘SQL Course’)SQL course
UPPER(‘SQL Course’)SQL course
INITCAP(‘SQL Course’)SQL course
字符控制函数

这类函数控制字符:

函数结果
CONCAT(‘Hello’, ‘World’)HelloWorld
SUBSTR(‘HelloWorld’,1,5)Hello
LENGTH(‘HelloWorld’)10
INSTR(‘HelloWorld’, ‘W’)6
LPAD(salary, 10, ‘*’)*****24000
RPAD(salary, 10, ‘*’)24000*****
TRIM(‘H’ FROM ‘HelloWorld’)elloWorld
REPLACE(‘abcd’,’b’,’m’)amcd
SELECT employee_id, CONCAT(first_name, last_name) NAME, 
       job_id, LENGTH (last_name), 
       INSTR(last_name, 'a') "Contains 'a'?"
FROM   employees
WHERE  SUBSTR(job_id, 4) = 'REP';

数字函数

函数含义结果
ROUND(45.926, 2)四舍五入45.93
TRUNC(45.926, 2)截断45.92
MOD(1600, 300)求余100

日 期

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

日期函数

函数描述
MONTHS_BETWEEN描述日期相差的月数
ADD_MONTHS向指定日期中加上若干月数
NEXT_DAY指定日期的下一个星期*对应的日期
LAST_DAY本月的最后一天
ROUND日期四舍五入
TRUNC日期截断

转换函数

这里写图片描述

隐式数据类型转换

Oracle 自动完成下列转换:

源数据类型目标数据类型
VARCHAR2 or CHARNUMBER
VARCHAR2 or CHARDATE
NUMBERVARCHAR2
DATEVARCHAR2
显式数据类型转换

这里写图片描述

TO_CHAR函数对日期的转换

TO_CHAR(date, ‘format_model’)
格式:
- 必须包含在单引号中而且大小写敏感。
- 可以包含任意的有效的日期格式。
- 日期之间用逗号隔开。

SELECT TO_CHAR(sysdate,‘yyyy-mm-dd hh:mi:ss’) FROM dual;
select employee_id,last_name,hire_date
from employees
where to_char(hire_date,’yyyy-mm-dd’) =1987-09-17
TO_DATE 函数对字符的转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值