mysql - 在 mysql 中更改 joda 时间持续时间的顺序,如 PT1000S

标签 mysql grails sql-order-by jodatime

我在我的 grails 应用程序中使用 joda-time grails 插件来处理持续时间。该插件将以毫秒为单位解码的持续时间保存在数据库中,前缀为“PT”,后缀为“s”。示例 1 分钟 = PT3600S

现在我想订购这一行。因为它是一个 varchar 排序变得复杂或更好,而不是我希望它被排序:(

结果

PT12551S
PT21142S
PT23240S
PT4672S
PT4792S
PT4877S

预期的(如果它的类型是 int...)

PT4672S
PT4792S
PT4877S
PT12551S
PT21142S
PT23240S

知道如何解决这个问题吗?我可以更改存储在数据库中的数据的格式吗?我可以根据条目的长度更改顺序吗?

最佳答案

我发现最好的方法是暂时不要使用这种快捷方式。我现在将持续时间保存为整数。这样就很容易订购和添加。

关于mysql - 在 mysql 中更改 joda 时间持续时间的顺序,如 PT1000S,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610492/

相关文章:

rest - Grails默认休息 Controller

sql - 如何使用executeUpdate()删除具有GORM(Grails)和HQL(Hibernate)的实体

MYSQL:为什么两个几乎相同的查询的 ORDER BY 时间不同

mysql - activeperl5.16.3 ppm 存在 DBD::mysql 问题

grails - 使用RESTClient进行Grails和Jira集成

Nhibernate query<T>/queryover<T> orderby 子查询

oracle - 如何在Oracle中使用distinct或group by维护顺序

mysql - 从 latitudeDelta 和 longitudeDelta 获取以米/公里为单位的半径

mysql - 在 ubuntu 上安装 mySQL 时出错 - 无法找到包 mysql-server

php - 在 Codeigniter 中组合 mysql AND OR 查询