专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » oracle资料:ORACLE复习资料8 »正文

oracle资料:ORACLE复习资料8

来源: 发布时间:星期三, 2008年10月22日 浏览:13次 评论:0
Oracle 复习
/*自定义的列标题 使用双引号或者不用引号*/
select cName "猎头" , nPercentageCharge "所收佣金金额" from contractrecruiter
select cName 猎头 , nPercentageCharge 所收佣金金额 from contractrecruiter
/*显示非重复行,关键字 distinct */
select distinct cCity from externalcandidate
/*并置运算符,dual 哑元系统表*/
select 'Antony' || '$$$' || 'Martin' from Dual
/*
算术运算符:+,-,*,/,%
比较运算符:=,>,<,>=,<=,!=
并置运算符:||
逻辑运算符:and , or , not
其他运算符:between...and , in
*/
/*在select 语句中使用 where 子句*/
select vFirstName,vLastName
from Externalcandidate
where vQualification = 'Graduate' and nTestScore>=60
/*检索带匹配模式的数据*/
//like关键字
//通配符:%
select vFirstName from Employee where vFirstName like '%a%a%';
//定位标记符:下划线(_)表示精确地和任意单个字符匹配
select vFirstName from Employee where vFirstName like '_s%'
/*注意:like 后面的字符串区分大小写*/
select cNewspaperName ,vContactPerson,cPhone from Newspaper
where cNewspaperName like '%Texas%' and vContactperson like 'Jackson%'
/*检索带遗漏值的数据*/
select vFirstName,vLastName from Externalcandidate where dInterviewDate is null
/*以特定顺序检索数据*/
select cPositionCode , vDescription from Position order by cPositionCode Asc
/*
单行函数——标量函数
多行函数——组合函数
*/
/*字符函数*/
//将每个单词的首字母大写,其他字符小写
select initcap('aBC') from dual
//将字符串转成大写
select upper('daniel') from dual
//将字符串转成小写
select lower('daniel') from dual
//从左边删除指定字符串
select LTrim('DANIEL THOMSON','DANIEL') from dual
//从右边删除指定字符串
select RTrim('DANIEL THOMSON','THOMSON') from dual
//将两个字符串并置
select concat('Good','Morning') from dual
//将指定字符串,从第pos个字符开始,截取length个字符长
//select substr(string,pos,length) from dual
select substr('abcdefg',1,4) from dual
//返回指定字符在指定字符串中的位置
select instr ('abcdefg','b') from dual
//从左边填充
select lpad('30000',7,'$') from dual;——$$30000
//从右边填充
select rpad('30000',7,'$') from dual;——30000$$
//返回字符串的长度
select length('Good Morning') from dual
//数值函数
//绝对值函数
select abs(-25) from dual
//天花板函数
select ceil(-25.2) from dual
//地板函数
select floor(-25.2) from dual
//乘方 power(n,m) 指n的m次方
select power(10,2) from dual
//整除后取余数
select mod(10,3) from dual
//四舍五入 round
select round(3.1415926,2) from dual
//截短,不四舍五入 trunc
select trunc(3.1415926,3) from dual
//开平方 sqrt
select sqrt(25) from dual
//日期函数
//add_months 把第二个参数所指的月份加到第一个参数
select add_months('12-4月-1990',4) from dual
//返回两个日期中较大的 greatest
select greatest('18-4月-1984','18-3月-1984') from dual
//结果是 18-4月-1984
//返回两个日期中较小的 least
select least('18-4月-1984','18-3月-1984') from dual
//返回18-3月-1984
//返回某月的最后一天
select last_day('20-1月-2000') from dual;——返回2000-1-31
//比较两个日期相隔的时间
//前面的减去后面的,如果前面的较小则返回负数,下例返回 -12
select months_between('20-1月-2000','20-1月-2001') from dual
//返回给定日期的(相应参数所指)下一个日子
select next_day('20-1月-2000','星期一') from dual
/*Oracle 的数据类型*/
VARCHAR2(size) 长度可变的字符串数据 1到4000(应该指定最大长度)
CHAR(size) 固定长度的字符数据 1到2000(缺省值大小为1)
NUMBER(p,s) 该十进制小数最长P位,小数点右边最长S位
DATE 日期和时间
LONG 长度可变的字符数据 上限为2G
CLOB 字符数据 上限为4G
RAW(size) 原始二进制数据 上限为2000(应指定最大值)
LONG RAW 可变长度的原始二进制 上限为2G
BLOB 二进制数据 上限为4G
BFILE 存储在外部文件中的二进制上限为4G
ROWID 十六进制字符串,表示行的唯一地址
//隐式数据转换
//显示数据转换
//日期格式化函数
//数值格式化函数
TO_CHAR:将DATE,NUMBER转换成CHAR
select TO_CHAR(sysdate,'DD-MONTH-YYYY') from dual
TO_DATE:将CHAR,NUMBER转换成DATE
select TO_DATE(sysdate,'DD-MONTH-YYYY') from dual
ROUND:舍入日期到函数所指最近的日期
select ROUND(sysdate,'MONTH') from dual —— 返回最近月的第一天
select ROUND(sysdate,'YEAR') from dual —— 返回最近年的第一天
TRUNC:截短到当月或者当年的第一天
select trunc(sysdate,'MONTH') from dual —— 返回当月的第一天
select trunc(sysdate,'YEAR') from dual —— 返回当年的第一天
TO_NUMBER:将CHAR或VARCHAR数据类型转换成NUMBER数据类型
select to_number(cEmployeeCode) from employee
/*使用通用格式化函数*/
// NVL 函数:NVL(列名,缺省值) 用缺省值替换该列中空值
// Coalesce 函数:
Coalesce(exp_name1,exp_name2,exp_name3......exp_n)
//当exp_name1不为空,则返回exp_name1,否则,若exp_name2不为空值此函数返回exp_name2;
//假如exp_name1,exp_name2皆为空,则返回exp_n

/*在 select 语句里使用条件子句*/
select cCandidateCode,vFirstName,vLastName,
case cState
when 'California'
then 'Send call letters'
else 'No need to send call letter'
end "Message"
from Employee
文章引用自:
标签:oracle资料

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: