Oracle常用函数

1.字符函数: 

函数 说明
ASCII(X) 返回字符X的ASCII码
concat(X,Y) 连接字符串X和Y
instr(X,str[,start][,N) 从X中查找str,可以指定从start开始,也可以指定从n开始
length(X) 返回X的长度
loewer(X) X转换成小写
upper(X) X转换成大写
ltrim(X[,trim_str]) 把X的左边截去trim_str字符串,缺省截去空格
rtrim(X[,trim_str]) 把X的右边截去trim_str字符串,缺省截去空格
trim([trim_str from]X) 把X的两边截去trim_str字符串,缺省截去空格
initcap(X) 首字母大写
replace(X) 进行替换
substr(开始截取位置,截取个数) 字符串截取;第一个数是开始的位置,第二个数字是从截取位置开始截取的个数
                                                   

2.数字函数:

函数

说明

示例

ABS(X)

X的绝对值

ABS(-3)=3

ACOS(X)

X的反余弦

ACOS(1)=0

COS(X)

余弦

COS(1)=0.54030230586814

CEIL(X)

大于或等于X的最小值

CEIL(5.4)=6

FLOOR(X)

小于或等于X的最大值

FLOOR(5.8)=5

LOG(X,Y)

X为底Y的对数

LOG(2,4)=2

MOD(X,Y)

X除以Y的余数

MOD(8,3)=2

POWER(X,Y)

X的Y次幂

POWER(2,3)=8

ROUND(X[,Y])

X在第Y位四舍五入

ROUND(3.456,2)=3.46

SQRT(X)

X的平方根

SQRT(4)=2

TRUNC(X[,Y])

X在第Y位截断

TRUNC(3.456,2)=3.45

trunc(X)

舍弃小数位

 
         

2.日期函数:

函数 说明
ADD_MONTHS(d,n) 在某一个日期 d 上,加上指定的月数 n,返回计算后的新日期
LAST_DAY(d) 返回指定日期当月的最后一天
ROUND(d[,fmt])

回一个以 fmt 为格式的四舍五入日期值, d 是日期, fmt 是格式

Ø  ① 如果 fmt 为“YEAR”则舍入到某年的 1 月 1 日,即前半年舍去,后半年作为下一年。

Ø  ② 如果 fmt 为“MONTH”则舍入到某月的 1 日,即前月舍去,后半月作为下一月。

Ø  ③ 默认为“DDD”,即月中的某一天,最靠近的天,前半天舍去,后半天作为第二天。

Ø  ④ 如果 fmt 为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日。

例:SELECT SYSDATE,ROUND(SYSDATE),ROUND(SYSDATE,'day'),

ROUND(SYSDATE,'month'),ROUND(SYSDATE,'year') FROM dual;

 EXTRACT(fmt FROM d)  提取日期中的特定部分
sysdate+3

获取当前日期:sysdate;3天后的日期

select ename, sysdate+3 from emp;

||

管道符,拼接字符串

select ename||3 from emp;

last_day

获取当月最后一天

select last_day(sysdate) from dual;

next_day

下一次出现星期X的日期

select next_day(sysdate,'星期日') from dual

add_months

几个月之后的日期(加减月份)

select add_months(sysdate, 4) from dual;

month_between

select trunc(months_between('1-2月-2017',sysdate)) from dual;

 

 

四、转换函数

函数 说明
TO_CHAR(d|n[,fmt])

把日期和数字转换为制定格式的字符串。Fmt是格式化字符串

SELECT TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日" HH24:MI:SS')"date" FROM dual;

 

 TO_DATE(X,[,fmt])  把一个字符串以fmt格式转换成一个日期类型
 TO_NUMBER(X,[,fmt])  把一个字符串以fmt格式转换为一个数字
 to_char

把日期(任意类型)转换成字符串

select to_char(sysdate,'yyyy-mm-dd') from dual;

select to_char(123456789,'999,999,999,999') from dual; 

to_date

把任意类型转成时间日期

to_number

把任意类型转成数字

select to_number('123')+123 from dual;

 

5.通用函数

函数 说明
nvl(a,b) a不为空时等于a,否则返回b
nvl(x,a,b) x不为空时返回a,否则返回b
decode(x,a,b,c) 当x=a时,返回b,否则返回c
 
上一篇:方面级情感分析论文阅读笔记:A Joint Training Dual-MRC Framework for Aspect Based Sentiment Analysis


下一篇:Qracle学习:时间和日期函数