原公司用的数据库是Oracle和MySQL居多,写的SQL语句也比较少,有些生疏了。现在的公司使用的DB2数据库,完全没接触过,导致一些函数的使用要在网上搜索案例,现在总结一点DB2的函数使用方法。
正确需求:查询出指定日期的工作日,页面传一个天数,并返回一个新的日期。
下面是时间表字段:
刚开始项目需求说的不清楚,导致查询的结果不对,原来的需求只是说过滤掉周六周日休息时间和周一至周五存调休放假的时间,得到上班的时间。
下面的SQL语句查出的是系统当前时间和一个指定日期这个区间的上班记录,SQL函数说明:
CURRENT DATE
:获取系统当前日期,但是获取的日期有/
连接,即:2017/11/30
,数据库中的日期存储分为年月日三个字段,且为字符型,这里就需要用到相关函数对日期进行格式化。char(replace(char(date,iso),'-',''),8)
:转成字符yyyymmdd
格式,将结果中的-
去掉后转换成8位的字符。DECIMAL()</