qq_25339957 2016-05-09 08:37 采纳率: 0%
浏览 2510

Mysql Timestamp 无法时间戳查询

在做SQL优化时,发现时间查询上耗时较大,想优化一下。

字段类型是Timestamp

查询SQL:
工作正常SQL:
SELECT count(*) FROM TRADE_RECORD t where UNIX_TIMESTAMP(t.TRADE_TIME) BETWEEN 1462723200 AND 1462723200;

工作失败SQL:
SELECT count(*) FROM TRADE_RECORD t where t.TRADE_TIME BETWEEN 1462723200 AND 1462723200;

请教为什么下面的SQL会失败,我给timestamp做了索引,如果用上面正常的SQL的话索引好像没有什么效果,下面失败的SQL的话,查询很快,但结果是0,得不到数据。

  • 写回答

2条回答 默认 最新

  • sxwws 2016-05-10 01:32
    关注

    你这样使用timestamp比较奇怪。你直接当timestamp就是个时间类型进行使用不就好了吗?
    比如select a where request_begin_time >='2016/05/10 02:20:30' and request_begin_time<='2016/05/10 04:20:30'

    评论

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突