db2中如何获取当前日期前一周的日期

SELECT
CURRENT_DATE - (DAYOFWEEK(CURRENT_DATE) - 2 + (ROW_NUMBER() OVER (ORDER BY 1) ) ) DAY AS result
FROM
SYSIBM.SYSCOLUMNS
fetch first 7 rows only;

输出结果:

2013-03-24
2013-03-23
2013-03-22
2013-03-21
2013-03-20
2013-03-19
2013-03-18

你可以看情况, 自己再做一下排序。
追问
稍作修改可以查出你所说的结果
只不过你这方法是查询出上周之前的所有日期,然后取前7条,这样的话怎么排序呢
还请指教!
回答
唉, 本来我想偷懒的......
看来还是要自己写啊 ...

SELECT
CURRENT_DATE -
(DAYOFWEEK(CURRENT_DATE) - 1) DAY
- 7 DAY
+ (ROW_NUMBER() OVER (ORDER BY 1) ) DAY AS result
FROM
SYSIBM.SYSCOLUMNS
fetch first 7 rows only;

查询结果:

2013-03-18
2013-03-19
2013-03-20
2013-03-21
2013-03-22
2013-03-23
2013-03-24

注:
DAYOFWEEK 是查询, 日期是当前周的 第几天。 (周日是第一天)

CURRENT_DATE - (DAYOFWEEK(CURRENT_DATE) - 1) DAY
是获取本周的第一天 (也就是 星期天 3月24号)

CURRENT_DATE -
(DAYOFWEEK(CURRENT_DATE) - 1) DAY
- 7 DAY
是 获取上周的第一天 (也就是 上周的 星期天 3月17号)

CURRENT_DATE -
(DAYOFWEEK(CURRENT_DATE) - 1) DAY
- 7 DAY
+ (ROW_NUMBER() OVER (ORDER BY 1) ) DAY
是 从上周星期天 开始 , 每行数据 + 1天。
也就是从 3月18号是第1行, 3月19号是第2行

fetch first 7 rows only;

是只检索 7行。

时间: 2024-08-01 10:09:58

db2中如何获取当前日期前一周的日期的相关文章

db2中取表的前几条记录 (转)

原文出处:http://csjava.blog.163.com/blog/static/19047003320119110358572/ db2中SELECT TOP N * FORM TABLENAME 是不能取到表中前几条记录的.要使用 SELECT * FROM TABLENAME FETCH FIRST N ROWS ONLY.其中N即是你要取的前几条记录. db2中取表的前几条记录 (转)

Oracle获取当前日期前一个月的全部日期

当前日期为2018/08/12. 1.获取当前月份的天数: select to_number(to_char(last_day(sysdate),'dd')) from dual 2.获取当前日期前30天的全部日期. select trunc(sysdate-30)+rownum as days from dual connect by rownum<=30; 执行结果如下: 2.获取当前日期前一个月的全部日期.此处的一个月会根据当前月份获取本月的天数,可能是31天.30天或者29天. sele

获取当前日期前(后)x天的日期

package com.xcfh.util; import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** *  * @ClassName: BeforeOrAfterDate *  * @Description: 获得当前输入日期前(后)x天的日期 * @author PineTree * @date 2014年12月29

sql server 获取当前日期前三十天的日期

select convert(varchar(10),dateadd(dd,number,dateadd(month,-1,getdate())),120) as dtfrom master..spt_values where type='P' and dateadd(dd,number,dateadd(month,-1,getdate()))<=getdate()--------------------- 作者:a-b-d 来源:CSDN 原文:https://blog.csdn.net/a6

获取当前日期前多少天,或者格式化当前日期

以后用DateUtils这个 System.err.println(DateUtils.addDays(new Date(), -1)); System.err.println(DateUtils.addYears(new Date(), 1)); try { System.err.println(DateUtils.parseDate("2018-12-12", new String[]{"yyyy-MM-dd"})); } catch (ParseExcepti

获取当前日期的后一天日期js代码

function tomorrow(){ var dd = new Date(); // 将当前日期 dd.setDate(dd.getDate()+1); // 设置时 分 秒 毫秒 dd.setHours(0, 0, 0, 0); return dd; }

python获取当前日期前后N天或N月的日期

# -*- coding: utf-8 -*- '''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime import timedelta, date import calendar year = strftime("%Y",localtime()) mon = strftime("%m",localtime()) day = strftime("%d",l

【python】python获取当前日期前后N天或N月的日期

1 # -*- coding: utf-8 -*- 2 3 '''获取当前日期前后N天或N月的日期''' 4 5 from time import strftime, localtime 6 from datetime import timedelta, date 7 import calendar 8 9 year = strftime("%Y",localtime()) 10 mon = strftime("%m",localtime()) 11 day = s

获取当前日期小方法(可用于日期校验)

常用的获取当前日期的方法,在日期校验时很有用: 1 //Get Current Date Method for EntryDate Check 2 public static String getCurrentDate() { 3 4 long millsecs = System.currentTimeMillis(); 5 long secs = millsecs / 1000; 6 long mins = secs / 60; 7 int hours = (int)(mins / 60);