mysql 取昨天的日期
时间: 2023-07-01 19:24:07 浏览: 93
您可以使用MySQL内置函数`DATE_SUB()`和`CURDATE()`来获取昨天的日期。以下是用于检索昨天日期的MySQL查询语句:
```sql
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday;
```
上述查询将返回昨天的日期,格式为YYYY-MM-DD。
相关问题
mysql 取昨天0点的函数
你可以使用MySQL的DATE_SUB函数结合DATE函数来获取昨天的0点时间。以下是一个示例查询:
```sql
SELECT DATE_SUB(DATE(NOW()), INTERVAL 1 DAY) AS yesterday_midnight;
```
这将返回昨天的日期,并将时间设置为0点。请注意,此查询将根据当前系统时间进行计算,因此结果可能会有所不同。
mysql存储过程案例
以下是一个MySQL存储过程的案例:
```sql
DROP PROCEDURE IF EXISTS getUserInfo;
CREATE PROCEDURE getUserInfo(in date_day datetime)
BEGIN
declare _userName varchar(12); -- 用户名
declare _chinese int; -- 语文
declare _math int; -- 数学
declare done int; -- 定义游标
DECLARE rs_cursor CURSOR FOR SELECT username, chinese, math from userInfo where datediff(createDate, date_day) = 0;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
-- 获取昨天的日期
if date_day is null then
set date_day = date_add(now(), interval -1 day);
end if;
open rs_cursor;
cursor_loop: loop
FETCH rs_cursor into _userName, _chinese, _math; -- 取数据
if done = 1 then
leave cursor_loop;
end if;
-- 更新表
update infoSum set total = _chinese + _math where UserName = _userName;
end loop cursor_loop;
close rs_cursor;
END;
```
这是一个存储过程名为getUserInfo的案例,参数为date_day,日期格式为2008-03-08。在该存储过程中,我们使用游标rs_cursor来查询userInfo表中与指定日期相差一天的记录。然后,我们通过一个循环来遍历游标获取的结果,并更新infoSum表中对应用户名的总分数。该存储过程使用了游标和循环结构来实现对数据的操作。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* *2* [mysql存储过程案例](https://blog.csdn.net/wind_602/article/details/89883323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]