Oracle数据库管理(4)——简单函数

一、单行函数

单行函数对于表中查询的每一行只返回一个值,可出现在select子语句和where子语句中。

1、字符函数

函数解释输入例子输出结果
initcap(字符串)首字母大写initcap(‘hello’)Hello
lower(字符串)所有字母转换成小写字母lower(‘ABC’)abc
upper(字符串)所有字母转换成大写字母lower(‘abc’)ABC
length(字符串)求字符串长度length(‘abc’)3
substr(字符串,开始位,长度)从第几位开始截取子字符串substr(‘abcde’,2,3)bcd
replace(字符串,被替换字符,替换字符)替换字符replace(‘abasd’,‘a’,‘x’)xbxsd
concat(字符串1,字符串2)合并字符concat(‘hello’,‘world’)helloworld
chr(数字)将数字转换成ASCII码表中的字符chr(97)a
ascii(字符)将字符转换成ASCII码表中的数字ascii(‘a’)97
lpad(字符,位数,‘填充字符’)使用固定字符填充到固定长度lpad(‘abc’,5,‘x’)xxabc

2、日期函数

函数解释输入例子输出结果
add_months(日期,月数)多少个月后的日期add_months(‘05-6月 -21’,5)05-11月 -21
months_between(日期1,日期2)两个日期相差多少个月,不满整月会出现小数months_between(‘05-6月 -21’,‘05-11月 -21’)5
extract(year from 日期)从一个日期中提取年extract(year from ‘05-6月 -21’)21
extract(month from 日期)从一个日期中提取月extract(month from ‘05-6月 -21’)6
extract(day from 日期)从一个日期中提取天extract(day from ‘05-6月 -21’)5
last_day(日期)所在月的最后一天last_day(‘05-6月 -21’)30-6月 -21
select * from students where add_month(birthday,12*20) < sysdate; //查询年龄大于20岁的学生
select * from students where last_day(birthday) - 10 = birthday; //查询生于当月倒数第11天的学生

3、数字函数

函数解释输入例子输出结果
abs(数字)求绝对值abs(-1)1
ceil(数字)向上取整ceil(10.01)11
sin(数字)正弦函数sin(0)0
cos(数字)余弦函数cos(0)1
power(数字,幂)指数函数power(2,3)8
round(数字,保留小数点后几位)四舍五入round(4.12,1)4.1
sqrt(数字)求平方根sqrt(9)3
floor(数字)向下取整floor(5.9)5

4、转换函数

函数解释输入例子输出结果
to_char(数字,‘转换格式’)数字转换成字符to_char(12,‘L99.99’)¥12.00
to_date(字符,‘转换格式’)数字转换成日期to_date(‘20210727’,‘yyyymmdd’)27-7月-21
to_number(字符)字符转换成数字to_number(‘12’)12
select to_char(12,'l99.99') from dual; //将数字转换为本地货币表示的字符
select to_char(12,'$99.99') from dual; //将数字转换为美元表示的字符
SQL> select to_char(1.1,'99.999')  from dual;   //将数字转换为固定位数的字符
TO_CHAR(1.1,'99.999')
---------------------
  1.100
SQL> select to_char(1.1,'09.999')  from dual;  //将数字转换为固定位数的字符,不足的位补0
TO_CHAR(1.1,'09.999')
---------------------
 01.100

5、混合函数

函数解释输入例子输出结果
nvl(表达式1,表达式2)第一个为空返回第二个,否则返回第一个nvl(1,2)1
nvl2(表达式1,表达式2,表达式3)第一个不空返回第二个,否则返回第三个nvl2(1,2,3)2
nullif两个表达式相等则返回空,否则返回第一个nullif(2,2)null

6、分组函数

函数解释输入例子输出结果
avg()求平均数
min()求最小值
max()求最大值
sum()求和
count()计数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值