ceoajun 发表于 2013-1-29 15:15:43

oracle基础攻略

--创建数据库表结构create table product(   product_name varchar2(25),   product_price number(4,2),   quantity_on_hand number(5,0),   last_stock_date date);--插入数据insert into product values('Small Widget',99,1,to_date('2006-6-15','yyyy-MM-DD'));insert into product values('Medium Wodget',75,1000,to_date('2005-3-25','yyyy-MM-DD'));insert into product values('Chrome-Phoobar',50,100,to_date('2005-6-6','yyyy-MM-DD'));insert into product values('Round Chrome Snaphoo',25,10000,to_date('2007-6-28','yyyy-MM-DD'));insert into product values('KFC',23,1120,to_date('2006-8-13','yyyy-MM-DD'));insert into product values('MaiDanLo',99.98,120,to_date('2007-5-4','yyyy-MM-DD'));insert into product values('HaGenDSi',45.68,1,to_date('2006-7-8','yyyy-MM-DD'));--创建数据库表结构create table purchase(    product_name varchar2(25),    salesperson varchar2(3),    purchase_date date,    quantity number(4,2));--插入数据insert into purchase values('Small Widget','CA',to_date('2006-6-12','YYYY-MM-DD'),1);insert into purchase values('Medium Wodget','BB',to_date('2006-7-16','YYYY-MM-DD'),75);insert into purchase values('Chrome Phoobar','GA',to_date('2007-6-3','YYYY-MM-DD'),2);insert into purchase values('Small Widget','GA',to_date('2006-9-24','YYYY-MM-DD'),8);insert into purchase values('Medium Wodget','LB',to_date('2006-12-12','YYYY-MM-DD'),20);insert into purchase values('Round Chrome Snaphoo','CA',to_date('2007-4-16','YYYY-MM-DD'),5);/*********************************常用的单行函数**********************************/--系统变量:SYSDATE,SYSTIMESTAMP,CURRENT_DATE,CURRENT_TIMESTAMP,USER-- sysdate:返回当前日期和时间select sysdate from emp;    --可以用该变量做数据的插入操作。   insert into purchase values('Small Widget','CA',sysdate,12);--可以通过增加或减少天数对当前的日期进行简单的操作   insert into purchase values('Small Widget','CA',sysdate-30,12); --SYSTIMESTAMP :返回数据库当前日期和时间--CURRENT_DATE:返回本地计算机当前日期和时间--CURRENT_TIMESTAMP:返回本地计算机当前日期和时间--user: 返回Oracle用户的ID      select user from dual;/***************************************数字函数***********************************/--round(input_value,decimal_places_of_pricision)函数:将数字四舍五入到指定的精确程度   select product_name, round(product_price) from product;   selectround(1234.5678,4) from dual;--trunc(input_value,decimal_places_of_pricision)函数:数字截取函数,与round函数不同的是将不会进行四舍五入的操作   select trunc(1234.5678,2) from dual;/******************************************文本函数*************************************/--upper():文本的答谢转换函数   selectupper(product_name) from product;--lower():文本的小写转换函数   selectlower(product_name) from product;--initcap():使串中的所有单词的首字母变为大写的函数   selectinitcap(product_name) from product;--length():确定串的长度   select product_name,length(product_name) NAME_LENGTH from product where length(product_name)>15 order by product_name;--substr(source_text,start_position,number_of_character):获取字符串的子串   select substr('iloveyou',1,5) from dual;--instr():查找指定的文本,并返回该文本在串中的起始位置,通常可与substr结合使用。   select substr(product_name,1,instr(product_name,'-',1)-1) First,          substr(product_name,instr(product_name,'-',1)+1,30) Sec       from product where product_name='Chrome-Phoobar';--Ltrim(column_name),rtirm(column_name)函数:分别是从串的开始和结尾部分删除空格   select ltrim('    china') from dual;/***********************************************日期处理***************************************/--SYSDATE系统变量和Trunc()截取函数的使用:用sysdate操作数据时,带有系统的时间部分,用trunc()截取函数可以截取掉系统的时间部分,而只显示日期部分   insert into purchase values('Small Widget','CA',trunc(sysdate),22);   delete from purchase where trunc(purchase_date)=to_date('2007-10-8','YYYY-MM-DD');--add_months(start_date,number)函数:从开始日期start_date中添加或者删除相应的月份。    select add_months(trunc(sysdate),3) from dual;--months_betweeen(date_1,date_2)函数:返回两个日期之间的月份数    select months_between(trunc(sysdate),last_stock_date) from product;       --可以使用round()函数包围在外面            select round(months_between(trunc(sysdate),last_stock_date)) from product;       -- 插看自己出生了多少个月            select round(months_between(sysdate,to_date('1986-11-30','YYYY-MM-DD')))from dual;/********************************************数据类型的转换****************************************/--to_char(input_value,'format_code')函数:用于将日期,时间或者数字转换为文本格式化日期和时间值:   select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;格式化数字值:使数字的显示方式标准化。   select product_name, to_char(product_price,'$99,999.00') "price", quantity_on_hand from product;--to_char()函数:日期转换函数
页: [1]
查看完整版本: oracle基础攻略