如何在MySQL

时间:2016-10-25 02:40:07

标签: mysql datetime multiple-columns concat str-to-date

我有一个表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)STR_TO_DATE(Concat('From_To','/','1','/','From_Year'), '%m/%d/%Y')的汇款额NULL }。

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

我使用change()但它返回num2

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

1 个答案:

答案 0 :(得分:2)

删除env | grep ...From_To列周围的单引号:

From_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 date)将日期信息存储在一个列中。

<强>更新

如果您希望获得timestamp日期的最后一天,可以使用to功能:

LAST_DAY