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';