一》数据库基本概念

数据:对现实生活事物形容的符号。

数据库:存储数据的库。

数据库管理系统:用户间接用来操作数据库的软件。

数据库利用零碎:在数据库管理系统之上的零碎,专门给普通用户进行应用的零碎。

数据库系统:用户+数据库管理系统+数据库+数据库利用零碎+数据库管理员

注:Oracle遗记用户明码

1.cmd关上windows命令窗口

2.输出命令:sqlplus /nolog

3.输出命令:conn /as sysdba

4.输出命令:alter user 要批改明码的用户名 identified by 新密码;

[对于sqlplus不是外部命令的谬误,是因为oracle的环境变量配置有问题]

二》ORACLE函数之单行函数

  • 不扭转实在数据,只对数据做进一步润饰或解决显示
  • 可和字段混合应用

    伪表:实在存在的表,不便进行数据验证而长期存在;表名:dual

1.字符函数

函数名作用示例后果
initcap(char)首字母大写initcap('nice')Nice
lower(char)转为小写lower('NICE')nice
upper(char)转为大写upper('nice')NICE
ltrim(char,set)左剪ltrim('nice','ni')ce
rtrim(char,set)右剪rtrim('nice','e')nic
concat(char1,char2)字符串连贯concat('ni','ce')nice
substr(char,pos,len)取子串substr('nice',2,2)ic
instr(char,substr)查子串地位instr('nice','c')3
translate(char,key,value)按字符映射翻译translate('nice','ne','01')0ic1
replace(char,old,new)字符串替换replace('nice','c','cc')nicce

2.数值函数

函数名作用示例后果
abs(n)取绝对值abs(-3)3
mod(m,n)取余mod(3,2)1
sign(n)取符号sign(-3)-1
ceil(n)向上取整ceil(3.2)4
floor(n)向下取整floor(3.2)3
round(m,n)四舍五入为指定小数位数round(3.236,2)3.24
power(m,n)m的n次幂power(3,2)9
sqrt(n)平方根sqrt(4)2
trunc(m,n)截断trunc(3.233,2)3.23
sin(n)正弦sin(0)0
cos(n)余弦cos(0)1

3.日期函数

函数名作用示例后果
months_between(date1,date2)返回两日期间的月份(若date1在日历中比date2早,则返回一个正数,反之则返回一个负数)months_between('01-8月-2020',‘01-8月-2020’)0
add_months(date,m)返回把月份数加到日期上的新日期add_months('25-8月-2020',-1)25-7月-2020
next_day(date,week)返回指定新日期后的星期对应的新日期next_day('23-8月-2020',‘星期一')24-8月-2020
last_day(date)返回指定日期所在月的最初一天last_day('25-8月-2020')31-8月-2020
round(date,p)按指定格局对日期进行四舍五入round(to_date('25-8月-2020'),’YEAR‘)1-1月-2021
trunc(date,p)对日期按指定形式截断trunc(to_date('25-8 月-2020'),'YEAR')01-1月-2020

注:

  • p为YEAR,round按1-6月和7-12月,四舍五入到最近的yyyy年1月;trunc截取到本年第一天。
  • p为MONTH,round按1-15日和16-30日,四舍五入到最近mm月的1日;trunc截取到本月第一天。
  • p为DAY,round按周一至周三和周四至周日,四舍五入到最近的周日。trunc截取到本周第一天。

三》oracle函数之多行函数

  • 对查问数据进行统计
  • 不能和一般字段及单行函数混合应用,除非分组

    函数名作用
    max(字段名)返回该字段最大值
    min(字段名)返回该字段最小值
    sum(字段名)返回该字段的和
    avg(字段名)返回该字段平均值
    count(*)返回表记录数
    count(字段名)返回非空值数量
    count(distinct 字段名)返回去重后字段值数量

四》oracle函数之转换函数

  1. to_number(数值类型的字符):将字符转换为数值
  2. to_char(数值或日期):将数值或日期转换为字符

    指定显示格局:

    9示意占位,例:999,999,999会将数字按三个一组逗号隔开。

    0示意占位,若理论数据位数有余,则用0补位。

    L示意人民币符号,$示意美元符号。

    注:数值和字符之间可隐式转换。

  3. to_date(日期格局的字符):将字符转换为日期(个别新增应用,查问用to_char)

    罕用日期格局:yyyy-mm-dd

    yyyy/mm/dd

    'yyyy"年"mm"月"dd"日"'

    注:字符必须合乎日期格局;oracle默认转换格局为日月年,例'25-8月-2020'。

五》oracle函数之其余函数

  1. nvl(字段名,新的值):若字段值不为null,则返回该字段值;若为null,则返回新的值。
  2. nvl2(字段名,解决1,解决2):若字段值不为null,则执行解决1;若为null,则执行解决2。
  3. decode(字段名,值1,解决1,值2,解决2,值3,解决3,...,公共解决):若字段值和decode中条件值雷同,则执行对应的解决。若都没有,则执行公共解决。