本年,本月,本周第一天

SQL> SELECT TO_CHAR(TRUNC(SYSDATE, 'yyyy'),'YYYY-MM-DD ') 本年第一天,
  2         TO_CHAR(TRUNC(SYSDATE, 'mm'),'YYYY-MM-DD ') 本月第一天,
  3         TO_CHAR(SYSDATE - TO_NUMBER(TO_CHAR(SYSDATE, 'D')) + 2,'YYYY-MM-DD ') 本周第一天,
  4         TO_CHAR(SYSDATE - TO_NUMBER(TO_CHAR(SYSDATE, 'D')) + 8, 'YYYY-MM-DD ') 本周最后一天,
  5         TO_CHAR( SYSDATE ,'YYYY-MM-DD' ) 今天,
  6         TO_CHAR(SYSDATE, 'D')-1 本周第几天
  7    FROM DUAL;

 

 

本年第一天本月第一天本周第一天本周最后一天今天本周第几天
2011-01-01 2011-05-01 2011-05-16 2011-05-22 2011-05-183

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 MySQL 的内置函数 `DATE_FORMAT()` 和 `NOW()` 来获取本周第一天本月第一天本年第一天的值。 查询本周第一天SQL 语句如下: ``` SELECT DATE_FORMAT(NOW() - INTERVAL WEEKDAY(NOW()) DAY ,'%Y-%m-%d'); ``` 查询本月第一天SQL 语句如下: ``` SELECT DATE_FORMAT(NOW() ,'%Y-%m-01'); ``` 查询本年第一天SQL 语句如下: ``` SELECT DATE_FORMAT(NOW() ,'%Y-01-01'); ``` 在 MyBatis 的映射文件 `TrendMapper.xml` 中,你需要添加三个参数,分别对应本周第一天本月第一天本年第一天的值。然后在 SQL 语句中使用这三个参数来替换原来的日期值。 修改后的 SQL 语句如下: ``` SELECT DATE_FORMAT(statistics_date, '%Y-%m-%d') as statisticsDate, COUNT(*) as lotteryWinCount FROM t_lottery_statistics_prize WHERE statistics_date BETWEEN #{weekBegin} AND NOW() AND statistics_date >= #{monthBegin} AND statistics_date >= #{yearBegin} GROUP BY DATE_FORMAT(statistics_date, '%Y-%m-%d') ORDER BY DATE_FORMAT(statistics_date, '%Y-%m-%d') DESC ``` 其中,`#{weekBegin}`、`#{monthBegin}` 和 `#{yearBegin}` 分别对应本周第一天本月第一天本年第一天的参数。 在 Java 代码中,你需要定义这三个参数的值,并将它们传递给 MyBatis 的 SQL 语句。 示例代码如下: ```java public List<Trend> selectTrend() { Date weekBegin = ... // 计算本周第一天的值 Date monthBegin = ... // 计算本月第一天的值 Date yearBegin = ... // 计算本年第一天的值 Map<String, Object> paramMap = new HashMap<>(); paramMap.put("weekBegin", weekBegin); paramMap.put("monthBegin", monthBegin); paramMap.put("yearBegin", yearBegin); return sqlSession.selectList("com.yuxiang.dtsociety.lottery.dao.TrendDao.selectTrend", paramMap); } ``` 其中,`weekBegin`、`monthBegin` 和 `yearBegin` 参数是新增的。在 `paramMap` 中,将这三个参数都传递给 MyBatis 的 SQL 语句。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值