数据库程序设计 oracle数据库1

目录

账号

数值函数

字符函数

日期

日期运算

日期函数

其他函数

转换函数


账号

超级管理员sys ,默认密码:change_on_install
普通管理员system  密码 manager
用户: scott  密码 tiger

这里用户sys的权限是非常高的,可以打开关闭oracle数据库,它的权限是高于其他用户的(其他用户信息肯定保存在oracle数据库中)

数值函数

每个数据库内置函数都不相同,一般放在别的数据里不好用

  • round(number[,decimals])函数:

       四舍五入

       number:待做截取处理的数值
       decimals:指明需保留小数点后面的位数。

  • trunc(number,num_digits)函数:

截取函数

      Number 需要截尾取整的数字。
      Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。

      注意:不进行四舍五入

  • mod(m,n)

      取余函数

字符函数

注意:和SQLServer不同,oracle对大小写敏感!

  • substr(string string, int a, int b)函数:

      取子串。从a开始,取长度为b的字符串。默认b是取到最后。有点像C++里面的<string>

  • instr(string1, string2)函数:

      一个串在另外串里的位置。string1是源字符串, string2是目标字符串。

      instr(string1, string2,int a)找第a个string2

      instr(string1, string2,int a,int b)找第a个字符之后出现的第b个string2

  • length()函数:

      返回长度

select length('汉字')
from dual

结果:2

select lengthb('汉字')
from dual

结果:4
  • trim(),ltrim(),rtrim()

去字符串左右两边的空格或指定字符

select trim('   r f  ')
from dual

结果:r f

select trim('m' from 'mmrmfmm')
from dual

结果:rmf

selsct trim(leading 'm' from 'mmrmfmm')
from dual

结果:rmfmm
  •  initcap()函数: 

      首字母大写。所有的单词首字母大写,就像文章的题目一样。

  •  lower(string)函数:

       转成小写字母。

日期

默认格式:DD-MON-RR

DD和RR表示阿拉伯数字

英文环境MON为月份英语缩写

汉语环境为汉语

日期运算

SYSDATE获取系统时间

加减运算:日期+数字是增加天数,如:SYSDATE+1是明天的日期

但是日期+日期是非法的;日期-日期是和合法的,返回相差的天数

select SYSDATE-('01-1月-00')
from dual

结果:报错,日期不能减字符串

select SYSDATE-to_date('01-1月-00')
from dual

结果:系统时间和01年1月1日相差的天数

日期函数

  •  ADD_MONTHS()函数

          ADD_MONTHS(‘starting_date’,number_of_months) 

         一个日期加几个月,注意一个月31日加一个月的情况。

SELECT ADD_MONTHS(TO_DATE('01/31/2007','MM/DD/YYYY'),1)  
FROM dual

结果:2007/2/28
  • LAST_DAY()函数

        LAST_DAY(‘date’) 

        一个月的最后一天

  • MONTHS_BETWEEN(later_date,earlier_date) 

        两个日期的间隔几个月

  • next_day()函数

        下一个日期

        可以是数字、日期

select next_day(SYSDATE,'星期一')
from dual

结果:今天之后的下一个星期一

select next_day(SYSDATE,2)
from dual

结果:今天之后的下一个星期的第二天

其他函数

  • NVL()函数

        NVL(input_value,result_if_value_is_null)

        input_value通常是某个列名。若该值为空,则用第二个值覆盖。

        注意:两个参数的数据类型必须是一样的,否则会报错。使用时可以先进行类型转换。

  • nvl2()函数

         nvl2(input,value1,value2)

         如果表达式input不是空值,则返回value1值;否则返回value2值。 和C++中的三目运算符有点像。

         注意:后两个参数数据类型相同

 

转换函数

oracle中的数据类型转换

  • to_date()函数

        TO_DATE(input_value,’format_code’) 字符串转日期

        例如

to_date('81-01-01','rr-mm-dd')

结果:由字符串变成日期类型81年1月1日

       年份用rr和yy表示有所不同:年用rr表示离现在最近的年份;年用yy表示表示当前世纪的年份。一般使用rr更合理一些。

       原因:之前的千年虫问题,2038年1月也会出现千年虫问题

  • to_char()函数

       TO_CHAR(input_value,’format_code’) 转字符,第二个参数是转换的格式

       功能比较强大,例子:

select hiredate
from emp
where to_char(hiredate,'dd') < 15

结果:雇佣日期在15号之前的

select to_char(sal,'999999.99l')
from emp


结果:员工工资,l表示当地货币符号
  • to_num()函数

        转数字。只有数字才能转,字母等会报错。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学好Oracle的六条总结 1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL, 但可以看懂它们,你就可以跳到2。否则请先学习一下数据库基础和SQL语言, 不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用 边学习、记忆。2 、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入 理解它们,但要分清几个关键的概念: instance (实例)、数据文件、日志文件、参数文件、数据文件与表空间的关系 3、2是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作 ,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程 中你将对SQL和ORACLE体系结构有个更深入的了解。 4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具 体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习 PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA, 请继续。 5、可以根据自己的实际情况,进行有选择的学习,也就是说下面的内 没有特别顺序要求。可以选择深入学习ORACLE的管理、备份与恢复、性能 调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样 可以在实际中成长,学会TROUBLE SHOOTING 目录 1.1 数据库基本知识 1.2 关系数据库 1.3 数据库设计基础 1.4 SQL基本命令 1.5 Oracle简介 1.6 启动和关闭Oracle 1.7 Oracle 命令复习

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值