ORACLE数据库sql语言、函数及常用命令444(6)

2019-02-15 22:03

LAST_DAY(2001-03-01)=2001-03-31

MONTH_BETWEEN(2001-01-01,2000-12-01)= -1

SELECT SYSDATE(),SNO,SNAME FROM STUDENT;//返回系统当前时间以及student表中的学生编号和学生姓名

例如:

INSERT INTO BOOK(NAME,BOOK,DAT) SELECT :NAME,:BOOK,SYSDATE FROM DUAL;

通过SELECT * FROM BOOK WHERE DAT=:DD;想查询一天的数据,是错误的! 应该:SELECT * FROM BOOK WHERE TRUNC(DAT,’DD’)=:DD 特别说明这句话不能使用索引,最好的办法是

SELECT * FROM BOOK WHERE DATE>=:DD AND DATE<:DD+1; 九、判断是否为空函数

格式:NVL(表达式1,表达式2):当表达式1为空时,返回表达式2,否则返回表达式1。

例如:如果course=null则NVL(COURSE,0)=0 如果COURSE=10则NVL(COURSE,0)=10 例:求电量、电费的和

select sum(nvl(dlhj,0)),sum(nvl(ysdf,0)),sum(nvl(ltdf,0))

from pshis.kh_hjdfxx a where a.khbh=b.khbh and ny=b.ssny

十、转化函数:

日期转化字符TO_CHAR(DATE,[FMT]) 数值转化字符TO_CHAR(N,[FMT]) 字符转化日期TO_DATE(CHAR,[FMT]) 字符转化数值TO_NUMBER(CHAR)

求最大值GREATEST(表达式1,表达式2……) 求最小值LEAST(表达式1,表达式2……) FMT=’YYYYMMDDHHMISS’//oracle中分的表示

例如:

TO_CHAR(2001-02-03,’YY.MM.DD’)=’01.02.03’

To_char(1233.22,’000000.00’)=’_001233.22’ 带空格 TO_CHAR(1233.22,’999999.99’)=’ 1233.22’带空格 to_char(1233.22,’fm000000.00’)=’001233.22’去空格 to_char(1233.22,’fm999999.99’)=’ 1233.22’ 去空格 TO_DATE(‘20000203’,’YYYYMMDD’)=2000.02.03 TO_NUMBER(‘12312’)+10=12322 GREATEST(1,2,3,4,5,6)=6

十一、 条件函数: 1.case when

格式:case when c1>c2 then c3 else c4 end

Select case when c1>1 then c2 else 23 end from table1; 不建议太多使用这个函数,程序不方便阅读 2.decode

格式:decode(input_value,value,result[,value,result…][,default_result]); 其中:

input_value :试图处理的数值。DECODE函数将该数值与一系列的序偶相比较,以决定最后的返回结果

value :是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使 用关键字NULL于之对应

26

result :是一组成序偶的结果值

default_result :未能与任何一序偶匹配成功时,函数返回的默认值。 不建议太多使用这个函数,程序不方便阅读

27


ORACLE数据库sql语言、函数及常用命令444(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:超星泛雅文化地理答案(DOC)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: