oracle篇 之 单行函数
一、分类
1.单行函数:需要处理的行数和返回结果的行数相等(单行进单行出)
2.多行函数(组函数):返回结果的行数少于要处理的行数(多行进单行出)
二、字符处理相关函数
1.lower:字符串转换成小写
2.upper:字符串转换成大写
3.initcap:字符串单词首字母大写,其它字符小写
4.concat:字符串拼接,类似||
5.substr:取子串,参数(原始字符串,开始位置1开始,取的字符数)
6.length:字符串长度
三,函数可以嵌套使用
一、数值处理相关函数
1.round(1,2):对数值进行四舍五入
如果第二个参数为负数,表示将小数点虚拟左移相应位数,然后将虚拟小数点后一位进行四舍五入,最后将虚拟小数点后全部清零
select round(55.923,-2)
from dual;
2.trunc(1,2):对数值进行截断,不会进位
如果第二个参数为负数,表示将小数点虚拟左移相应位数,最后将虚拟小数点后全部清零
3.mod:取余数
四、日期处理相关函数
1.日期函数
(1)months_between:两个日期之间相差多少个月
(2)add_months(‘sysdate’,6):15-MAY-95往后推6个月的日期作为返回值
(3)next_day(‘15-MAY-95’,’FRIDAY’):15-MAY-95后面最近一次的星期五的日期作为返回值
(4)last_day(‘15-MAY-95’):15-MAY-95这个月的最后一天的日期作为返回值
(5)round:对日期进行进位或舍位
1)第二个参数为month,表示对天向月进行进位或舍位,逢16进1
2)第二个参数为year,表示对月向年进行进位或舍位,逢7进1
select round(to_date('16-MAY-95','DD-MON-YY'),'month')
from dual;
select round(to_date('16-JUL-95','DD-MON-YY'),'year')
from dual;
(6)trunc:对日期进行舍位
五、类型转换相关函数
1.to_char(date/number,’format’):将数值类型、日期类型转换为字符串类型
第二个参数格式,要用单引号引起来,格式区分大小写
(1)日期格式
YYYY:4位数字的年
MM:2位数字的月
DD:2位数字的天
YEAR:年的英文全拼
MONTH:月的英文全拼
DDSP:天的英文全拼,基数词
DDSPTH:天的英文全拼,序数词
D:1位数字的星期,0表示星期天
DDD:3位数字的天,一年中的第几天
DAY:星期的英文全拼
DY:星期的英文简写,3个字母
HH24:小时的24制表示,2位数字的小时
MI:2位数字的分钟
SS:2位数字的秒
日期格式双引号中的内容会原样输出
select to_char(sysdate,'fmYYYYMMDD HH24:MI:SS AM "YYYYMMDD"')
from dual;
(2)数字格式
9:表示1位数字占位符
0:表示1位数字占位符,位数不够前面强制补0
$:数字前加美元符号
L:数字前加本地的货币符号
.:表示小数点
,:表示千分符
fm:去掉空白、占位符0,类似java String中的trim()方法
select last_name,to_char(salary,'$999,999.99')
from s_emp;
select last_name,to_char(salary,'L000,000.00')
from s_emp;
1.to_number:将字符串类型转换为数值类型
select to_number('100')
from dual;
2.to_date:将字符串类型转换为日期类型
select round(to_date('16-MAY-95','DD-MON-YY'),'month')
from dual;
单行函数可以嵌套使用,从内向外进行计算