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,表示对天向月进行进位或舍位,逢161

 

2)第二个参数为year,表示对月向年进行进位或舍位,逢71

 

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)日期格式

 

YYYY4位数字的年

 

MM2位数字的月

 

DD2位数字的天

 

YEAR:年的英文全拼

 

MONTH:月的英文全拼

 

DDSP:天的英文全拼,基数词

 

DDSPTH:天的英文全拼,序数词

 

D1位数字的星期,0表示星期天

 

DDD3位数字的天,一年中的第几天

 

DAY:星期的英文全拼

 

DY:星期的英文简写,3个字母

 

HH24:小时的24制表示,2位数字的小时

 

MI2位数字的分钟

 

SS2位数字的秒

 

日期格式双引号中的内容会原样输出

 

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;

单行函数可以嵌套使用,从内向外进行计算

 

posted @ 2019-04-23 09:29  千里之外kb  阅读(212)  评论(0编辑  收藏  举报