开发工具与关键技术:Oracle sql*plus PLSQL Developer;Oracle基础语法
撰写时间:2019-04-16
Oracle sql 函数分为多行函数和单行函数,下面我为大家讲解的是Oracle的单行函数,单行函数包含了对字符、数值、转换、日期的操作。单行函数可以嵌套,嵌套函数的执行顺序是由内到外。
- 字符:字符函数有大小写控制函数(LOWER、UPPER、INITCAP)
LOWER(‘字母字符串’)小写
UPPER(‘字母字符串’)大写
INITCAP(‘字母字符串’)首字母大写
- 字符控制函数(CONCAT、SUBSTR、LENGTH、INSTR、LPAD | RPAD、TRIM、REPLACE);
Concat:是一个字符控制函数,他只能连接两个字符,多于两个字符他是不支持的。即Concat的参数只能有两个。他和‘||’区别就是||可以连接符他可连接多个字符
SUBSTR截取:截取字符的长度(截取student单词中第2个字母的后面三个字母)
LENGTH获取长度:获取出字符‘student’的长度是为7
INSTR位置的位数:可以获取到字符串‘student’中的‘u’在第几位置,查询某个元素的位置索引
LPAD左填充(在查询数据的时候选择多少位数,比如下面的例子我写的是10位数,在查出来的数据不够10位数的话就会自动向左填充自己自定义的字符)
RPAD右填充:右填充的原理跟左填充原理一样,可以参照左填充的原理去理解
TRIM去字符或空格:格式如TRIM(‘要掉的某个字符’from ‘字符串’)
REPLACE替换字符:REPLACE (‘字符串’,‘待替换字符’,‘替换的字符’)将某元素替换成某元素
- 数值函数有ROUND(四舍五入)、TRUNC(截取)、MOD(求余)
ROUND四舍五入:
TRUNC截取:截取的是小数点后面保留多少位,取够了多少位就把后面的截掉,例子中的65.923是保留2位,所以把后面的3截掉。
MOD求余:
- 日期函数:
在日期函数中两个日期相减返回日期之间相差的天数。日期不允许做加法运算,日期加起来是无意义的。
sysdate 当前系统日期
months_between:两个日期相差的月数
add_months:向指定日期中加上若干月数
next_day: 指定日期的下一个星期 * 对应的日期
last_day :本月的最后一天
- 转换函数
to_char(时间,数值字符串,字符串格式)、to_date(字符串,时间格式),To_date和To_char两个都是转换函数,但转换的对象不一样,to_char(hire_date,'yyyy/MM/DD')='1987/09/17',to_date('2019年10月29日 08:10:21','yyyy"年"MM"月"DD"日" hh:mi:ss')即to_char转换的是一个有效的时间,我们可以转换为任意的日期格式;而to_date转换的是包含时间格式的字符。