Oracle数据库创表及内置函数的练习

  1. 创建表操作
    A. 不是超级用户登录的话是没有创建表权限的,需要超级用户授权才能创建
    – a.授权 打开SQL*PLUS 输入用户 sqlplus /as sysdba 按两次enter键
    – b.输入grant create session to 用户;–点击enter键
    – c.授权完毕。
    B.创建表
    – 打开sql developer.exe登录账户并输入口令

    create table 表名(
    属性1: 数据类型,
    属性2: 数据类型);  
    点击f9运行     
    

    eg:

    create table student(
    umber int primary key,--定义主码
    sname char(6));
    
  2. 创建视图(在scott自带表emp的基础上进行操作)
    A. 同样需要授权
    在SQL*PLUS用超级账户登录后输入grant create view to user;
    B.创建视图

create view table1
as
select empno,ename,job,sal
from emp
where sal>2000;

该视图的意思是从表emp中找到工资大于2000的,并且创建新表table1,里面的属性有empno,ename,job,sal。

  1. 内置函数
    A. 字符函数
    a. lower()函数,将表中属性为大写的字符转化为小写
    select empno,lower(ename),lower(job) from emp;—将大写的名字和工作转化为小写在表中显示出来,注意原始表中的信息依旧未变
    b. INITCAP() —>属性首字母大写函数
    select empno,initcap(ename),lower(job) from emp;
    在这里插入图片描述
    c. LTRIM(‘目标字符串’,‘要删的字符串’) ---->左裁剪函数
    select ltrim('sofency','so') from dual;—dual是内置数值函数下文解释
    在这里插入图片描述
    d.同理右裁剪函数rtrim('目标字符串','要删除的字符串')和上面一样
    B.数值函数
    abs(),ceil(),floor(),power(),mod(),round(),trunc()
    下面通过一个语句解释这些函数
    select abs(-1),ceil(2.2),floor(3.3),power(2,3),mod(5,2),round(100.256),trunc(2.332,1) from dual;
    在这里插入图片描述
    C. 日期函数
    ----- a. months_between(‘日期1’,‘日期2’)函数
    select months_between('01-1月-1998','24-6月-1998') from dual;—输出两个日期相差的月份(double类型)
    在这里插入图片描述
    ----- b. add_months(‘日期’(char),数字(int))函数
    select add_months('01-2月-1998',11) from dual;前面的日期加上后面的月份后的日期
    在这里插入图片描述
    ----- c. next_day(‘日期’,‘星期二’)向下查询最近的星期二日期
    select next_day('17-4月-2019','星期二') from dual;
    在这里插入图片描述
    在这里插入图片描述
    ---- d. last_day(‘日期’) 返回该月份的最后一天 可以用来判断某个月份有多少天
    select last_day('06-4月-19') from dual;
    在这里插入图片描述
    ----e. round()函数
    select round(to_date(‘01-7月-03’),‘YEAR’) from dual;–按月的一半来四舍五入,01-1月-04’
    –如果月份超过一半显示把后面的日期给删了显示下一年的1月1日,否则返回当年的1月1
    在这里插入图片描述
    在这里插入图片描述

    select round(to_date(‘19-7月-03’),‘MONTH’) from dual;–按日的一半来四舍五入
    –如果日的天数大于该月天数的一半,显示下月1日,否则返回该月1日
    在这里插入图片描述
    在这里插入图片描述
    select round(to_date(‘18-4月-19’),‘DAY’) from dual;–显示就近的周日
    —如果该日离哪个星期日的天数小于3的话就显示哪个星期日
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    18距离21中间就2天,所以显示21

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值