【发布时间】:2012-06-03 06:15:43
【问题描述】:
我有以下 MySQL 查询:
SELECT concat_ws('/', exp_month, exp_year) as exp_date
FROM `cc_info`
WHERE concat_ws('/', exp_month, exp_year) <= '05/12'
查询正在拉回未来和过去的结果。知道我在这里做错了什么吗?
【问题讨论】:
标签: mysql concatenation
我有以下 MySQL 查询:
SELECT concat_ws('/', exp_month, exp_year) as exp_date
FROM `cc_info`
WHERE concat_ws('/', exp_month, exp_year) <= '05/12'
查询正在拉回未来和过去的结果。知道我在这里做错了什么吗?
【问题讨论】:
标签: mysql concatenation
您正在按字典顺序比较字符串,并且月份在年份之前。如果您将年份放在月份之前,那么它们的顺序将是正确的:
SELECT concat_ws('/', exp_year, exp_month) as exp_date
FROM `cc_info`
WHERE concat_ws('/', exp_year, exp_month) <= '12/05'
【讨论】:
varchar,而 expiration_date 是 datetime。所以我必须对字符进行一些转换才能使其正常工作