gpt4 book ai didi

mysql - 选择两个月之间有年份差异的记录

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

我有一个表格,其中包含按月份和年份划分的人员记录。table有多个列,其中有两列fldmonth和fldyear,分别包含月份和年份。

现在我想获取不同年份月份之间的数据。 (例如 2012 年 3 月至 2013 年 6 月)

我正在使用以下查询,但没有获得正确的记录。

SELECT * FROM 'table' WHERE
user_id = 'id' AND
STR_TO_DATE(CONCAT('fldyear', 'fldmonth', '01'), '%Y%m%d') BETWEEN
STR_TO_DATE(CONCAT('2012', '3', '01'), '%Y%m%d') AND
STR_TO_DATE(CONCAT('2013', '6','01'), '%Y%m%d');

表架构:

user_id varchar(100), fldmonth smallint(2), fldyear mediumint(4)

(这里给出的表名和userid只是为了举例)

需要帮助。

注意:我也在日期格式中使用了 %c,因为月份是 1,2,..12 格式。但仍然得到空结果集

最佳答案

SELECT * FROM tbl 
WHERE USERID=1 and
STR_TO_DATE(CONCAT(fldyear,'-',LPAD(fldmonth,2,'00'),'-',LPAD(fldate,2,'00')), '%Y-%m-%d')
BETWEEN
STR_TO_DATE(CONCAT(2012,'-',LPAD(03,2,'00'),'-',LPAD(01,2,'00')), '%Y-%m-%d') AND
STR_TO_DATE(CONCAT(2013,'-',LPAD(06,2,'00'),'-',LPAD(01,2,'00')), '%Y-%m-%d');

Working Fiddle

关于mysql - 选择两个月之间有年份差异的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374421/

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