MySQL Months 存储为字符串,如何按时间顺序而不是按字母顺序排序?

标签 mysql

我将月份存储在一个表格中,例如“十二月、八月、七月”等。如何对我的查询进行排序,以便它们按时间顺序而不是按字母顺序排序?我可能需要从字符串转换为时间以获得一个数字然后按它排序,我可以在 PHP 中执行此操作但不知道如何直接在查询中执行此操作所以我不必进行查询,使用 PHP操作一些数据,然后使用它进行另一个查询。

MySQL 可以在查询中执行此操作吗?

谢谢。

最佳答案

我会做的是创建另一个表

CREATE TABLE MONTH_NAME
( 
    MONTH_NAME VARCHAR, // or whatever type the month is in your db
    MONTH_NUMBER INT
)

填写“一月”,1等

然后在查询中按月名和 MONTH_NUMBER 顺序连接两个表。

关于MySQL Months 存储为字符串,如何按时间顺序而不是按字母顺序排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8538818/

相关文章:

mysql - LOAD DATA INFILE 仅加载 0、NULL 和空白

java - MySQL 5.5.9 和 TYPE 上的 Hibernate 表创建错误

php - Moodle php - Moodle 在哪里检查提供的注册 key 是否与类(class)的预定义注册 key 匹配?

php - 数据库返回错误,无法弄清楚我哪里出错了?

php - 查询生成器 Codeigniter 3

php - 如何将海量 JSON 对象导入 MySQL

sql - 在 MySQL 中首先显示包含某个值的记录

php - 计算 MySQL 数据库列中值的查询

MySQL语法错误;不知道从哪里开始

MySQL 连接查询以创建自定义报告