1
我有一张桌子,日期不同,其中一个分为3个栏位: PassDay,PassMonth,PassYear。Mysql日期操作
我想这些日期与其他日期时间orig_date
比较所以我做了什么是
select `orig_date`, CONCAT_WS('-',`PassYear`,`PassMonth`,`PassDay`) as `pass_expiration` where `pass_expiration` < `orig_date`;
的问题是,这个月被存储为一个月份名称(1月),而不是一个数(01)所以我的结果为pass_expiration
为例如2013年4月15日。
有没有办法将这个(2013年4月-15日)直接从查询转换为正常的日期时间?
可能在'PassMonth'和'PassDay'之间插入一个空格。另外,从我听到的内容来看,'+'不支持作为MySQL中的连接运算符。 (我不是普通的MySQL用户,所以我不确定。) – 2012-01-06 22:53:58
我得到空的结果,当我尝试'SELECT STR_TO_DATE(PassMonth +''+ PassDay +','+ PassYear,'%M%d, %Y')from data where 1 limit 5' to check,each result is set to'NULL' – Loris 2012-01-06 22:56:12
它与'where STR_TO_DATE(CONCAT_WS(' - ',PassYear,PassMonth,PassDay),'%Y-%M- %d')
Loris
2012-01-06 23:05:57