求大佬指点一下php与mysqli之间的问题
问题描述如下:我mysql里面有一个字段 timeh随意命名的 .里面存入的格式为text 内容为11-11 10:00这种没有年份的日期格式
因为timeh 的内容要在网页前端循环显示出来 ,所以我就用了select * from a where time = '2021-11-11' order by timeh
就根据timeh的时间格式进行排序 ,但是遇到了一点小情况 排序的时候10:00 这个时间会排在 1:00 之前 请问有办法解决吗 最好就是sql语句解决因为涉及到显示和app端一旦重改的话涉及的工程就很大了
mysql查询的截图如下
用 unix_timestamp函数把日期转时间截 然后再排序 楼上正解 直接用时间排序效率太低,一般的先转成整数秒,然后进行运算 为什么一直有人说时间截啊 不是时间戳吗 kof21411 发表于 2021-11-12 13:01
用 unix_timestamp函数把日期转时间截 然后再排序
timeh 的 格式为text 11-11 10:00这种好像不被认为是时间 liuzhenhang 发表于 2021-11-12 13:32
timeh 的 格式为text 11-11 10:00这种好像不被认为是时间
unix_timestamp('11-11 10:00','MM-dd HH:mm') 转换成标准秒数比较好吧,前端换算一下就好了,这种东西换成标准数据之后维护也方便 字符串,截取,转时间戳,再排序。。。不榨干数据库性能,不罢休。 sss521 发表于 2021-11-12 14:20
字符串,截取,转时间戳,再排序。。。不榨干数据库性能,不罢休。
省掉不必要的麻烦了新建一个字段专门拿来保存时间戳然后order by 就完事了之前想得复杂了转换来 转换去
页:
[1]