我有一个数据类型的日期列varchar(mm-dd-yyyy)
在 MySQL 5.1 中。如何将其转换为 DATE?
这是我到目前为止所拥有的 -
SELECT id, date
FROM tableName
WHERE (CAST((SUBSTRING (date FROM 7 FOR 4 )||'/'||SUBSTRING (date FROM 4 FOR 2 )||'/'||SUBSTRING (date FROM 1 FOR 2 )) AS DATE) >= '01/01/2012' )
ORDER BY date DESC;
得到这个
错误 - #1064 - 您的 SQL 语法有错误;检查手册
与您的 MySQL 服务器版本相对应的正确语法
在“FROM 7 FOR 4”附近使用
请帮忙。
你可以使用MySQL的STR_TO_DATE() http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date功能
SELECT id, date
FROM tableName
WHERE STR_TO_DATE(date,'%Y-%m-%d') >= '01/01/2012'
ORDER BY date DESC;
虽然我怀疑使用 Unix Timestamps 会让你更轻松
SELECT id, date
FROM tableName
WHERE UNIX_TIMESTAMP(STR_TO_DATE(date,'%d/%m/%Y')) >= UNIX_TIMESTAMP('01/01/2012')
ORDER BY date DESC;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)