oracle函数

来源:互联网 发布:谷歌软件 编辑:程序博客网 时间:2024/05/01 21:34

lower ('ABC')    //转小写

upper('abc')     //转大写

initcap('abc')    //首字母大写

concat('abc','def')  //连接字符串 同||

substr('string',1,3) //str  取子串

length('st个')            //3    长度

instr('string','r')       //3   返回第一次出现的位置,没有找到返回0

lpad('sss',5,'*')       //**sss  长度格式化

 

round(45.926,2)       //45.93  四舍五入

round(45.926,-1)       //50

trunc(45.235,2)        //45.23  取小数

trunc(45.235,-1)        //40

mode(1600,300)      //100  求余数

 

oracle 内部日期存储格式是:

century year month day hours minutes seconds

默认日期格式: DD-MON-YY

SYSDATE 可返回日期和时间

DUAL是名义表,比如可以这样: select sysdate from dual;

设置时间格式: alter session set nls_date_format = 'YYYY-MM-DD'

日期相减等于相距的天数

 

 month_between('01-sep-95','11-jan-94');     //两个日期相差多少月

add_months('01-sep-95',6);             //在日期上加上月份数

next_day('01-sep-95','friday');                  //指定日期的后一天

last_day('01-sep-95');                    //月份中最后一天

round(25sep-95','MONTH');                        //四舍五入日期  对月95-10-1

round('25-sep-95','YEAR');                        //四舍五入日期  对年 96-01-01

trunc('25-sep-95','MONTH');                       //截断日期   95-09-01

trunc('25-sep-95','YEAR');                          //截断日期    95-01-01

 

隐式数据转换:

from                             to

varchar2 or char          number

varchar2 or char          date

number                        varchar2

date                             varchar2

 

显示式转换

number -> character    to_char()

character -> number    to_number()

character -> date         to_date()

 

日期模型字符:

YYYY

YEAR

MM

MONTH              //月的完整名称

DY                     //星期三个字符缩写

DAY                   //天的完整名称

 

to_char示例

select ename ,to_char(hiredate,'YYYY-MM-DD') from emp;

select ename ,to_char(sal) from emp;

 

insert into emp(ename,hiredate) values ('name','1999-01-01')  ;  //这里要求日期格式的格式与当前格式一样,否则会报错,

insert into emp(ename,hiredate) values ('name',to_date('1999-01-01','YYYY-MM-DD'))  ;  //这样就没有关系.

 

NVL函数:将NULL值转换成一个实际值:

 如:

select NVL(sal,0) from emp;

select NVL(ename,'test') from emp;

select NVL(hiredate,to_date('1999-01-01','YYYY-MM-DD');

 

DECODE函数:

select decode(sal,100,'等于100',200,'等于200','不等于100和200') from emp;

                      字段  值1  结果       值2    结果         其他情况的结果

 

 

 

 

 

 sql plus命令

 

1、把前一条sql语句保存到缓存  ed

2、把前一条sql语句保存到磁盘  save 'd:/sql.txt'

3、把文件中的sql内容加载到缓存中 get  'd:/sql.txt'

4、把文件中的sql内容加载到缓存并执行 @ 'd:/sql.txt'

5、清屏  clear screen

6、运行前一sql 语句    run    r    /

7、连接本机数据库   connect scott/tiger

8、如果连接远程数据库要加主要字符串  connect oracle/oracle@teacher

9、给用户赋权  grant select on table1 to oracle

 

 

 

 

 

原创粉丝点击