oracle中问题处理
oracle中问题处理
之前用的大都是mysql数据库,但是现在所处公司用的数据库是oracle,在开发过程中遇到不少麻烦,因为之前mysql可以用的函数在oracle里面不适用,所以以下将研究在平时在开发过程中所遇到的oracle的sql编写过程,将一些遇到的难题记录下,在以后的开发过程中减少麻烦,以免四处求助却没有效果。
1、一个code对应多个开始时间(begindate),按code分组查询,如果一组里面的begindate中包含今天的时间,我就取出这一组的sysdate作为begindate,如果不包含,我就取出min(begindate)。
select R1.code,R1.max_time,R1.min_time,R1.time_set,FIND_IN_SET(sysdate,R1.time_set) as isContainSysTime,
case when “sysdate(从前台获取当前时间字符串)” like isContainSysTim
then to_char(sysdate,’yyyy-mm-dd’)
ELSE
to_char(min_time,’yyyy-mm-dd’)
end as begin_time
from
(
select code,
ws_concat(begin_time) as time_set,
min(begin_time) as min_time,
max(begin_time) as max_time
from code_begintime GROUP BY code
) as R1