【问题标题】:SQL order by date AND by timeSQL 按日期和时间排序
【发布时间】:2012-09-09 22:19:00
【问题描述】:

具有字段“日期”(YYYY-MM-dd) 和“时间”(hh:mm am/pm) 的表格,但时间有时可能为空白。 是否可以使用这种结构按日期和时间订购商品?

【问题讨论】:

  • 您为此使用文本字段的任何原因?
  • 您可以按该字段名称使用 order,如果为 null 或空白,则使用 case 条件。 This-link-might-help
  • “你有什么理由使用文本字段吗?”长话短说……真的不想再生了。

标签: mysql sql date time sql-order-by


【解决方案1】:

是的,您只需用逗号分隔列名即可:

ORDER BY date, time

您需要适当地处理“空白”时间(即它们应该放在结果集中的非空白之前还是之后):

ORDER BY date, time DESC

更新适当处理上午和下午

为了实现这一点,您可以使用SUBSTRING_INDEX function

ORDER BY date, SUBSTRING_INDEX(time, " ", -1), SUBSTRING_INDEX(time, " ", 1)

【讨论】:

  • 你确定它会正确排序 '11:00 am' 和 '10:00 pm' 吗?
【解决方案2】:

是的,您可以使用ORDER BY Date, Time,它将按字段中的可用数据排序。空白值将在结果末尾一起排序。

【讨论】:

    【解决方案3】:

    你可以使用

    SELECT * FROM customer_tbl ORDER BY date DESC, time DESC
    

    这应该对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 2019-07-21
      • 2016-08-09
      • 2010-12-15
      • 2012-12-03
      相关资源
      最近更新 更多