ORACLE-函数

DUAL是一个虚拟表

可用于显示不属于任何一张表的列,例如

DUAL表示只包含一个列DUMMY,并且只有 一行值是未知的数据

属于SYS用户并且可以被所有的用户使用

 

字符函数

1.大小写转换函数

  LOWER:将大写或大小写混合的字符转换成小写
  UPPER :将小写或大小写混合的字符转换成大写
  INITCAP:将每个单词的第一个字母转换成大写,其余的字母都转换成小写

例子:查询雇员姓名、工作和工资大于1500的信息。

显示BLAKE的雇员编号、姓名和部门编号

INITCAP()函数

 

2.字符处理函数

(1)CONCAT

concat(string1,string2) 把string1和string2拼接起来

select concat('hello','world') from dual;  //helloworld

(2)SUBSTR

格式一、substr(string1,a,b)
从string1的a位置截取长度为b的字符串

格式二、substr(string1,a)
从string1的第a个字符开始截取后面所有字母

(3)LENGTH、LENGTHB

length(string1):返回字符串所占字符长度,单位是字符
lengthb(string1):返回字符串所占字节长度,单位是字节

select length('你好') from dual;  // 2
select lengthb('你好') from dual; // 4

(4)INSTR

格式一:instr(string1,string2) 返回string2第一次出现在string1的位置,若没有出现,则显示0

格式二:instr(string1,string2,start_position,nth_potision)
返回string1从start_position位置开始检索,找到第n次出现string2的位置

(5)LPAD、RPAD

lpad(string1,length,[pad_string]) 左填充
rpad(string1,length,[pad_string]) 右填充
string1待填充字符串
length字符长度,如果n大于string1,则填充至n,如果小于string1,则从左往右截取string1长度为length的字符串
pad_string填充字符,缺省值为空格

 

(6)TRIM

trim( leading|trailing|both string1 from string2)
从前面,后面,前后面去除string2中的string1,缺省值为both

select trim(leading 'a' from 'abccba')from dual;    //bccba
select trim(trailing 'a' from 'abccba')from dual;   //abccb
select trim(both 'a' from 'abccba')from dual;       //bccb
select trim('a' from 'abccba') from dual;           //bccb
select trim('ab' from 'abccba') from dual;          //报错    

(7)REPLACE

REPLACE(string,string1,string2)

该方式能够从“正文表达式”中找到“要搜寻的字符串 ” ,替换成“替换字符串”

 

例题:用字符函数实现查询姓名以N结尾的雇员名(不能用like)。

 

数值函数

CEIL(X):返回大于或等于X的最小整数
POWER(X,Y):返回X的Y次幂
ROUND(X,[Y]): 四舍五入到指定的小数位
TRUNC(X,[Y]): 截取到指定的小数位
MOD(X,Y): 取余数

 

1.使用CELX、POWER函数

2.使用ROUND函数

3.使用TRUNC函数

4.使用MOD函数

 

日期函数

SYSDATE 是用于返回日期和时间的函数,可以 使用SYSDATE就像引用某个列名一样。

表DUAL可用于查看SYSDATE,它属于SYS用户且可以被所有的用户使用

日期的运算

 

对日期使用算术运算

 

日期函数

MONTHS_BETWEEN(date1, date2):返回 date1 和 date2之间的月份的数量,结果可以是正数,也可以是负数。如果date1 晚于date2, 返回正数,如果date1 早于date2,返回负数。结果 的非整数部分表示不足一整月的那部分间隔。
ADD_MONTHS(date, n):向date加上n个月,得到一个新的日期。
NEXT_DAY(date1,’char’):求出date1之后一周内某天(按char给出的)的日期,char可以是一个有效的表示星期几的数字或者字符串。
 LAST_DAY(date) :求出date所在的月的最后一天。
 ROUND(date[,‘fmt’]):将date按照fmt指定的格式进行四舍五入,fmt为可选项,如果没有指定fmt,则默认为‘DD’,将date四舍五入为最近的天
 TRUNC(date[,‘fmt’]):将date按照fmt指定的格式进行截取,fmt为可选项,如果没有指定fmt,则默认为‘DD’,将date截取为最近的天。

 

1.MONTHS_BETWEEN

2.ADD_MONTHS

3.NEXT_DAY

4.LAST_DAY

5.ROUND、TRUNC

在使用ROUND函数和TRUNC函数需要先使用 TO_DATE函数把字符串转换成日期型数据后才可以使用。

 

例题:显示了当前受雇时间小于35年的雇员的编号、受雇日期、当前受雇的月数TENURE 、满八 个月的复审日期REVIEW 、受雇后的第一个星期五以及受雇当月的最后一天。

 

转换函数

1.TO_CHAR 函数:Oracle显示日期的默认格式是“日-月-年” 形式 n TO_CHAR函数可以将日期的默认显示方式改变 为我们所指定的方式。

2.TO_NUMBER 函数:使用TO_NUMBER将一个字符串转换成数值 型数据。

3.TO_DATE 函数:使用TO_DATE将字符串转换成日期型数据。

4.NVL 函数:将NULL转换为一个实际的值。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值