orac l e数据库第一章

数据库两种权限:

                   1.系统权限   

         2.对象权限

数据库端口号:

                    SQL SERVER  1433 

                     MySql    3306

                     Oracle     1521

全局数据库名=数据库名+数据库域名

数据库是物理系统中文件的集合而实例是数据库挂载成功后在内存中的内容

Oracle 数据库特点:

1、支持多用户、大事务量的事务处理

2、在保持数据安全性和完整性方面性能优越

3、支持分布式数据处理

4、具有可移植性

函数:

--时间转换
   --获取当前年份   
   select to_char(sysdate,'yyyy')
   as nowyear
   from  dual;
 

     结果是出现的本机年份,2016


   --获取当前月份
    select to_char(sysdate,'mm')
   as nowMonth
   from  dual;
   

     结果是出现的本机月份:8月


   --获取当前日期
    select to_char(sysdate,'dd')
   as nowday
   from  dual;
   

    结果是出现的本机日期:26


   --年月日
   select to_char(sysdate,'yyyy-mm-dd')
   as nowTime
   from  dual;

    出现的是:2016-08-26

    这个顺序是可以随时改变的


   
   --全部小写
      select  lower ('scopp')"lowercase"
       from DUAL;
       

      运用的关键字是:lower

       输出结果是:scopp   


   
   --全部大写
       select  upper ('scopp')"lowercase"
       from DUAL;

 
       运用的关键字是:upper

       输出结果是:SCOPP  


  --首字母大写
         select  initcap ('scopp')"lowercase"
         from DUAL;
         

        运用的关键字是:initcap

       输出结果是:Scopp   


     --字符控制函数
     select concat('happy','boy')
     from dual;   

      运用的关键字是:concat

       输出结果是:happyboy

 
     
     --截取函数
     select substr('happy',2)
     from  dual;

      

        运用的关键字是:substr

       输出结果是:appy   


     
     -- 字符串
     select length('开心'),lengthb('快乐')
     as 字节数
     from   dual;   


       运用的关键字是:length  、 lengthb

       输出结果是:  字符数:2

                          字节数:4

 


  --日期相差
 
  select floor(sysdate-to_date('20060208','yyyymmdd'))
  from  dual;
 

       运用的关键字是:floor

       输出结果是:3852   


  --月期相差
  select months_between(sysdate,to_date('20060208','yyyymmdd'))
 
  from  dual;
   

       运用的关键字是:months_between

       输出结果是:126.601755899044   

    出现小数是因为这个数据不是一个整数,一个月零一天就1.1的形式出现所以会出这个结果


  --隐式转换
  select *from emp
  where hiredate='17-12月-80';

   

    

原文地址:https://www.cnblogs.com/zsping/p/5809157.html