O
今天继续做本周安排的安排任务,昨天做好了数据清单,今天根据需求人的表样开始做报表,1月份的时候导师有带着我们几个新人做报表,但是过了一两个月我竟然有些记不清了,又得回过头来做做边学,看来学习还是要结合实践才有意义。
R
明天是三月的最后一个工作日了,争取把手上这个开发任务完成,不然四月投又是各种报表轮番轰炸了,加油吧!
I
今天总结的几个常用的时间函数分别是:is not null与<>null、instr()函数以及case when then else end用法,其具体的使用方法介绍如下。
1. is not null与<>null
查询条件是否非空时,很自然地会想到这两种写法。但是从图1的上下对比中可知,条件使用is not null时有数据而使用<>null时无数据,这是因为null与任何表达式计算皆为null,且null表示该条件字段对应的列中数据值未知或不可用,要判断条件是否为非空,应该用is not null,表示查找条件字段对应的列中的非空值。
2.instr()函数
instr()函数用于常用于返回要截取的字符串在源字符串中的位置。其具体语法与使用方法如下:
instr( string1, string2, [start_position,nth_appearance])
其中,string1表示源字符串,即被查找的字符串。string2表示查询字符串。start_position表示查询的起始位置,该参数可选,如果省略则默认为1,即从字符串的第一位开始查找。nth_appearance也是可选参数,表示需要查找第几次出现的string2,如果省略则默认为1。以下举例说明:
select instr('hello world','h' ) from dual; -- 返回 1
select instr('hello world','ll' ) from dual; -- 返回 3
select instr('hello world','o',1,2 ) from dual; -- 返回 8
3.case when then else end用法
case when then else end在平时写程序时非常常用,主要用来判断字段多状态的情况。其具体语法与使用方法如下:
case
when condition1 then result1
when condistion2 then result2
...
when condistionN then resultN
else default_result
end
该语句表示当条件满足condition1时,返回result1,后面n个条件同理,当条件都不满足时,返回default_result并结束。
D
继续坚持记录工作中不熟悉的知识点,尽量在实践中强化记忆。