您当前位置:设计在线网 >> Sql Server >> 浏览文章

有关oracle plsql常用方法汇总

分享到:
本文章讲述了有关oracle plsql常用方法汇总.

在SQLPLUS下

,实现中-英字符集转换

alter session set nls_language='AMERICAN';

alter session set nls_language='SIMPLIFIED CHINESE';

主要知识点:

一、有关表的操作

1)建表

create table test as select * from dept; --从已知表复制数据和结构

create table test as select * from dept where 1=2; --从已知表复制结构但不包括数据

2)插入数据:

insert into test select * from dept;

二、运算符

算术运算符:+ - * / 可以在select 语句中使用

连接运算符:|| select deptno|| dname from dept;

比较运算符:> >= = != 日期 dual为虚表

一)日期函数[重点掌握前四个日期函数]

1,add_months[返回日期加(减)指定月份后(前)的日期]

select sysdate S1,add_months(sysdate,10) S2,

add_months(sysdate,5) S3 from dual;

2,last_day [返回该月最后一天的日期]

select last_day(sysdate) from dual;

3,months_between[返回日期之间的月份数]

select sysdate S1, months_between('1-4月-04',sysdate) S2,

months_between('1-4月-04','1-2月-04') S3 from dual

4,next_day(d,day): 返回下个星期的日期,day为1-7或星期日-星期六,1表示星期日

select sysdate S1,next_day(sysdate,1) S2,

next_day(sysdate,'星期日') S3 FROM DUAL

5,round[舍入到最接近的日期](day:舍入到最接近的星期日)

select sysdate S1,

round(sysdate) S2 ,

round(sysdate,'year') YEAR,

round(sysdate,'month') MONTH ,

round(sysdate,'day') DAY from dual

6,trunc[截断到最接近的日期]

select sysdate S1,

trunc(sysdate) S2,

trunc(sysdate,'year') YEAR,

trunc(sysdate,'month') MONTH ,

trunc(sysdate,'day') DAY from dual

7,返回日期列表中最晚日期

select greatest('01-1月-04','04-1月-04','10-2月-04') from dual

二)字符函数(可用于字面字符或数据库列)

1,字符串截取

select substr('abcdef',1,3) from dual

2,查找子串位置

select instr('abcfdgfdhd','fd') from dual

3,字符串连接

select 'HELLO'||'hello world' from dual;

4, 1)去掉字符串中的空格

select ltrim(' abc') s1,

rtrim('zhang ') s2,

trim(' zhang ') s3 from dual

2)去掉前导和后缀

select trim(leading 9 from 9998767999) s1,

trim(trailing 9 from 9998767999) s2,

trim(9 from 9998767999) s3 from dual;

5,返回字符串首字母的Ascii值

select ascii('a') from dual

6,返回ascii值对应的字母

select chr(97) from dual

7,计算字符串长度

select length('abcdef') from dual

8,initcap(首字母变大写) ,lower(变小写),upper(变大写)

select lower('ABC') s1,

upper('def') s2,

initcap('efg') s3 from dual;

9,Replace

select replace('abc','b','xy') from dual;

10,translate

select translate('abc','b','xx') from dual; -- x是1位

11,lpad [左添充] rpad [右填充](用于控制输出格式)

select lpad('func',15,'=') s1, rpad('func',15,'-') s2 from dual;

select lpad(dname,14,'=') from dept;

12, decode[实现if ..then 逻辑]

select deptno,decode(deptno,10,'1',20,'2',30,'3','其他') from dept;

推荐阅读:
使用sql2005通用存储过程分页
将备份文件加密压缩并自动下载的实现
基于mysql中的case条件语句用法
推荐文章  
赞助商链接  
热门排行  
主题推广  
中国设计在线网 All Rights Reserved. 互联网违法和不良信息举报
信息产业部备案号:湘ICP备09001063号