数据库复习

来源:互联网 发布:java anti csrf token 编辑:程序博客网 时间:2024/06/13 08:10

1.做单独的查询时,
Orcale使用一个叫DUAL的伪表, 而MySQL不需要.

2.oracle数据库函数

(1)字符串操作

–CONCAT和||:用于连接字符串

–LENGTH(char):返回给定参数的字符串长度;

–UPPER:将字符串转换为大写

–LOWER:转换为小写

–INITCAP:首字母大写(加空格多个字母都可以大写)
–TRIM去除字符串中两边的指定字符,也可以单独去除左边或者右边,截取掉的只能是一种字符
–LTRIM、RTRIM:可以去除左或者右边多个字符,只要出现符合字符都去掉。

–LPAD、RPAD(col,i,’x’)
col限制为i位,不够用‘x’补齐,补位函数,第三个参数必须是单一的一个字符,如果多了就切掉

–SUBSTR(char,m,[n]) 截取给定字符串,从m处开始,连续截取n个字符。(注意,java里后两个参数是从m截取到n位,不包含n),另外。数据库的下标是从1开始的,Java是从零
–INSTR(char1,char2,n,m)查看char2在char1中的位置。
(2)数值操作
–ROUND :四舍五入
ROUND(n,m)
对n进行四舍五入,保存小数点后m位,m为0时,保留到个位数,负数则是十位以上的位数。m不写默认是0
–TRUNC(n,m)
相比于ROUND,仅作截取工作,不进行四舍五入
–MOD求余 MOD(n,m)
求余数,若m为0,直接返回n
–CEIL和FLOOR
向上取整,向下取整。
(3)日期操作
–TO_DATE:将字符串按照指定格式转换为日期类型
–TO_CHAR,将其他类型数据转换为字符类型;
日期类型转换时候,日期格式中间出现的字符只要不是关键字符,用双引号【TO_CHAR(hiredate,’YYYY”年”MM”月”DD”日”’);】
–LAST_DATE(DATE)

返回给定日期所在月的月底日期
–ADD_MONTHS(date,i)
对date的月份加减i

–MONTHS_BETWEEN(date1,date2)计算两个日期之间间隔了多少月,计算时根据date1-date2得出的
–NEXT_DAY(date,i)下周几

i可以是字符串,描述周几,但由于语言问题,建议使用数字。1表示周日,2表示周一,以此类推

–LEAST(expr1,expr2…..)、GREATEST(expr1,expr2…..)

参数任意个,函数返回其中最小(大)值
–EXTRACT(year(或者month,day)
FROM DATE)

获取指定时间分量对应的值
(4)空值操作
–服务器在NULL查询这方面很严谨,我们不能通过某个字段的值等于NULL来查询,可以使用
WHERE COL IS NULL 来判断。 –非空约束:更新类型,插入数据时候均不能为NULL –NULL值的运算
NULL与字符串连接等于什么走没做 NULL与任何数字计算,结果还是NULL
—-NVL(exp1,expr2)替换NULL值,当exp1为NULL时,函数返回exp2,否则返回exp1
两个参数可以是任何数据类型但两个参数数据类型要一致。 —-当需要根据指定内容是否为NULL来返回不同结果时,需要使用NVL2函数
NVL2(exp1,exp2,exp3)
当exp1不为NULL时,函数返回exp2,当exp1为NULL时,函数返回exp3,exp2和exp3的数据类型要一致。
NVL2可以实现NVL的功能。反过来不行。

原创粉丝点击