在sql查询中将varchar转换为datetime,其中caluse并选择

时间:2017-04-16 20:26:22

标签: mysql datetime

我在varym32作为数据类型的Timestamp列中存储'2017/03/31/5 06:34:45.66'。

CREATE TABLE `ABC` (
                    `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
                    `TimeStamp` varchar(32) COLLATE utf8_bin NOT NULL,
                    `Name` varchar(255)
                   ) ENGINE=InnoDB AUTO_INCREMENT=30821 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;`

如何在选择查询中将2017/03/31/5 06:34:45.66转换为日期时间?如何使用> =或< = 2017/03/31/5 06:34:45.66进行日期范围搜索?

SELECT str_to_date(TimeStamp, '%Y-%m-%d %H:%i:%s') 
from ABC 
where str_to_date(e.`Timestamp`, '%Y-%m-%d %H:%i:%s' ) >= '2016-09-19 00:29:27'
    AND str_to_date(e.`Timestamp`, '%Y-%m-%d %H:%i:%s' ) <= 2016-10-19 00:29:27

上述查询为Timestamp值返回NULL。

感谢您的帮助。

由于

0 个答案:

没有答案