现在的位置: 首页 > 综合 > 正文

oracle学习笔记2:常用语句

2013年09月16日 ⁄ 综合 ⁄ 共 1152字 ⁄ 字号 评论关闭

   1 创建用户:

   create user username identified by password default tablespace;

 

解释:其中username是自己取的用户名,如cathy,password也是自己取的密码,如123.

 

2 ceil,round,trunc

  (1) ceil(1.23)=2  

  用法是只要小数点后有数字,就进一位。

    (2)round(1.2346,3)=1.236,round(1.2346,2)=1.23

   解释:round函数是四舍五入,有两个参数,第二个数字表示要截取到小数点后的位置。

 

    (3)trunc(sysdate,'mm')=当月的第一天

      解释:trunc是日期截取函数,其中sysdate是oracle的系统变量,是现在的系统时间,mm是掩码,表示截取到月

 

3 数字转换位字符串

to_char('12.345','9999.999')=  12.345.

解释:9在oracle中是掩码,表示强制显示,像例题显示的12.345前面是2个占位符,想去掉占位符的话,可以用fw,如‘fw9999.99’。如果是0,则没有占位符,如上题:

to_char('12.345','0000.000')=12.345.

 

4 字符串转为日期

 

to_date("2008/11/06","yyyy/mm/dd")值为日期

注意:前面的字符串必须和后面的掩码格式相同

 

5 字符串连接

 

oracle中字符串连接用“||”,“+”只代表加法。

如:“13”||13=1313

 

6DECODE函数

 

 decode(to_char(sysdate,'d'),'1',sysdate,null)

 

解释:其中to_char(sysdate,'d')表示取当日的星期几,按照西方的算法,周日为1,则周三为4。decode的第一个表达式的值和第二个表达式的值比较,若相同输出第3个参数,否则输出第4个。

 

7 语句调优:

在执行SQL语句之前写上:

set autotrace traceOnly explain

则会打印出这条SQL消耗的CPU和内存等。

 

结束后:set autot OFF

 

8 分页实现(笔试经常遇到)

select * from big_table where id in (

   select id from (

       select rowid id,rownum num from big_talbe where num<=210)

   where num >200

)

 

其中big_table是表名,里面有2万条数据;rowId,rowNum都是oracle数据库的伪列,rowNum是从1到N的数字,id是一个序列,如

AAAYSDSAAA。rowNum不能判断大于,因为是从第一行开始的,第一行的rowNum是1。

 

 

抱歉!评论已关闭.