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。