我面临的问题是MySQL正在考虑
2015-02-12 01:08:40
小于
2015-02-12 12:54:49
我的查询
SELECT DISTINCT(time) FROM `dcn_payments` ORDER BY `time` ASC
我的表格结构
CREATE TABLE `x` (
`payId` int(8) unsigned NOT NULL AUTO_INCREMENT,
`receipt` char(0) DEFAULT NULL,
`amount` decimal(13,2) NOT NULL,
`pack` char(20) NOT NULL,
`date` date NOT NULL,
`time` char(19) NOT NULL,
`status` tinyint(1) unsigned NOT NULL,
`opId` int(4) NOT NULL,
`cId` int(7) NOT NULL,
`lnId` smallint(4) NOT NULL,
PRIMARY KEY (`payId`),
KEY `cId` (`cId`),
KEY `opId` (`opId`),
CONSTRAINT `cId` FOREIGN KEY (`cId`) REFERENCES `customers` (`cId`) ON UPDATE CASCADE,
CONSTRAINT `x1` FOREIGN KEY (`opId`) REFERENCES `operators` (`opId`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1
我的输出
time Ascending 1
2015-02-12 01:02:05
2015-02-12 01:08:27
2015-02-12 01:08:40
2015-02-12 12:54:49
2015-02-12 12:55:43
2015-02-12 12:56:33
2015-02-12 12:57:02
修改 我在我的DB列中插入日期('Y-m-d h:i:s'),我做错了吗? 因为我刚刚在localhost上插入12:54(hh:mm)而不是(00:54),我的系统时间是12小时(如果重要的话)
答案 0 :(得分:3)
12:54:49
约为五分钟, PM 。 01:08:40
大概是十点一点 AM 。一个o时钟AM将表示为13:00:00
,因此MySQL在这里正确排序。
答案 1 :(得分:1)
您希望插入date('Y-m-d H:i:s')
而不是date('Y-m-d h:i:s')
。首都H是24小时小时,小写h是12小时小时。 MySQL使用24小时格式。