gpt4 book ai didi

mysql - 基于另一列中的值实现 case 语句 - MySQL

转载 作者:行者123 更新时间:2023-11-30 22:30:31 24 4
gpt4 key购买 nike

大家好,我正在尝试执行一个带有借阅期限的存储过程,如果图书栏已填满,它将增加 14 天,如果视频栏已填满,则只会在我的“到期日”列中增加 7 天.

我让它工作,它使用 NOW() 语句记录我的成员(member) ID 和交易日期,如果它是一本书或带有项目编号的电影,我会从我的项目表中提取我只是不确定我将如何去做到期日。我试过并做了一个案例陈述,说明我希望它如何工作,但不确定如何将它实现到我的存储过程代码中。

存储过程:

CREATE PROCEDURE `Loan Renew`(
in Member_ID INT(11),
in `ITEM ID` INT(11))
INSERT INTO loan_table (Member_ID,item_id,book_id,Video_id,Transaction_date,Due_Date)
select Member_ID,Item_ID,Book_ID,video_id,NOW()
FROM item_table
Where `ITEM ID` =Item_table.Item_id

案例陈述:

CASE book_ID 
WHEN Book_ID IS NOT NULL THEN DATE_ADD(transaction_date,INTERVAL 14 DAY)
ELSE DATE_ADD(transaction_date,INTERVAL 56 DAY)
END AS 'Due_date'
from loan_table
Where `ITEM ID` =Item_table.Item_id

最佳答案

这种方式呢:

CREATE PROCEDURE `Loan Renew`(
in Member_ID INT(11),
in `ITEM ID` INT(11))
INSERT INTO loan_table (Member_ID,item_id,book_id,Video_id,Transaction_date,Due_Date)
select Member_ID,Item_ID,Book_ID,video_id,NOW(),
CASE -- book_ID
WHEN Book_ID IS NOT NULL THEN DATE_ADD(NOW(),INTERVAL 14 DAY)
ELSE DATE_ADD(NOW(),INTERVAL 56 DAY)
END
FROM item_table
Where `ITEM ID` =Item_table.Item_id

关于mysql - 基于另一列中的值实现 case 语句 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34016438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com