首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在HeidiSQL中对月份名称进行排序

在HeidiSQL中对月份名称进行排序
EN

Stack Overflow用户
提问于 2015-02-01 08:37:12
回答 2查看 495关注 0票数 2

我是SQL方面的新手。我目前有一个包含4列的数据库:年份、月份、日和总金额(月份采用字符串格式: Jan、Feb、.)。此外,我正在使用HeidiSQL开发数据库。

因此,我是否可以问一下,如何按照一月、二月、.这样的顺序对月份列进行排序?我确实试过按月排序,但似乎数据库是按字母排序的。

请帮帮我,非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-01 09:41:48

在MySQL中,可以将短月名称转换为带有str_to_datedatetime

代码语言:javascript
运行
复制
select str_to_date('Jul', '%b');

您可以通过以下方式使用此命令进行订购:

代码语言:javascript
运行
复制
order by
        year
,       str_to_date(month, '%b')
,       day

SQL Fiddle中的示例。

票数 3
EN

Stack Overflow用户

发布于 2015-02-01 13:57:52

如果您希望独立于MySQL服务器的国际化设置,并且仍然使用英文月份名称进行搜索,则可以使用field()

代码语言:javascript
运行
复制
order by field(monthcol, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')

我之所以提到这一点,是因为%b in str_to_date()是由地区设置控制的,因此它并不总是适用于英语月名。(控制此操作的参数是lc_time_names,描述为这里。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28260929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档