都是基础的,自已的笔记.自已看
Oracle 中 空表 为 dual表,用于常用计算的
如: select 5+5 from dual //显示是10
Oracle 中 表示当前时间的是sysdate
(1)查询唯一记录
关键字:distinct
例子:
select distinct name from head; //查出name字段唯一值的记录
查询重复记录
select name from head group by name having count(*)>1;//查询name字段有重复的记录.
(2) Oracle 中转义符
默认是\线,不过可以自已指定他的转义符.指定转义符例子:
关键字:escape
例子:用$定义成转义字符
select name from head like '%$%%' escape '$'; //查询name字面中含有%号的记录,用自定义转义符$.
(3)Oracle中常用字符串函数
lower 转字段转换成小字
例子:
select lower(name) from head;
substr 截取字符串
例子:
select substr(name,1,3) from head; //意思是说从第一个字符开始截取,一共截3个字符[/code]
char() 将Asci码转换成字符
例子:
select char(65) from dual;//显示出A
Ascii() 将字符转换成ASCII编码
例子:
select ascii('A') from dual; //显示出65
to_char() 将指定数字或日期按特定样式显示
例子:
select to_char(工资,'999,999.9999') from emp; //将工资字段以千分位的形式显示,9表示一个字符,如没有则不显示.
select to_char(工资,'000,000.0000') from emp; //将工资字段以千分位的形式显示,0表示一个字符,如没有则显示为0
select to_char(工资,'L000,000.0000') from emp; //这里的L表示一个转义,意思是将这数字按货币¥形式显示.
select to_char(生日,'YYYY-MM-DD HH:MI:SS') from emp; //将生日字段用1981-01-01 12:55:21秒形式显示
select to_char(生日,'YYYY-MM-DD HH24:MI:SS') from emp; //将生日字段用1981-01-01 24:55:21秒形式显示,小时为24小时制
round() 将指定的数字按四舍五入法显示
例子:
select round(23.653,1) from dual; //表示将23.653四舍五入到小数字后面1位,结果为 23.7
toDate() 将指定形式的字符串转换成日期
例子:
select name from head where brithday > toDate('1981-05-06','YYYY-MM-DD');
toNumber()将指定形式的字符串转换成数字
例子:
select name from head where 工资>toNumber('12,985.56','999,999.99');
NVL() 接收两个参数,表示如果第一个参数值为null的话。就用第二个参数的值代替。如NVL(工资,800) 意思是说如果工资字段没有值的话,就当800算
(4) 组函数
Max 最大 Min最小 AVG平均 Sum求和 Count求总记录数