gpt4 book ai didi

mysql - 如何在 MySQL 中将 2 个字符串转换为日期

转载 作者:行者123 更新时间:2023-11-29 05:10:26 25 4
gpt4 key购买 nike

我有一张表 tbl_remit。

 ________________________________________________________________
|RemitNo|ID|Employer|From_Month|From_Year|To_Month|To_Year|Amount|
| 1 |1 | a | 01 | 2016 | 01 | 2016 |200.00|
| 2 |1 | a | 02 | 2016 | 02 | 2016 |200.00|
| 3 |1 | a | 03 | 2016 | 03 | 2016 |200.00|
| 4 |1 | a | 04 | 2016 | 06 | 2016 |600.00|

此表表示 Employer(a) ID(1)From_Month(01) 月份的汇款From_Year(2016) To_Month(01) To_Year(2016) 金额为 Amount(200.00)

雇主在 2016 年 1 月 1 日至 2016 年 1 月 31 日期间支付了 200.00。我需要创建一个 View ,它将 FROM_Month 和 FROM_Year 列组合为日期格式为 01/01/2016,并将 TO_Month 和 TO_Year 列组合为日期格式为 01/31/2016。

我使用了 STR_TO_DATE(Concat('From_To','/','1','/','From_Year'), '%m/%d/%Y') 但它返回 NULL

非常感谢任何意见和建议。

最佳答案

删除 From_ToFrom_Year 列的单引号:

SELECT STR_TO_DATE(CONCAT(From_Year, '/', From_Month, '/01'), '%Y/%m/%d') AS From_Date,
STR_TO_DATE(CONCAT(To_Year, '/', To_Month, '/01'), '%Y/%m/%d') AS To_Date
FROM yourTable

作为一般建议,您应该始终将日期信息存储在单个列中,使用日期类型,例如 datetimestamp

更新:

如果你想得到日期的最后一天,你可以使用LAST_DAY函数:

LAST_DAY(STR_TO_DATE(CONCAT(To_Year, '/', To_Month, '/01'), '%Y/%m/%d'))

关于mysql - 如何在 MySQL 中将 2 个字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40230522/

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