关于数据库:数据库基础之Oracle函数

1次阅读

共计 2353 个字符,预计需要花费 6 分钟才能阅读完成。

一》数据库基本概念

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

数据库:存储数据的库。

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

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

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

注: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 中条件值雷同,则执行对应的解决。若都没有,则执行公共解决。
正文完
 0