sql-server - 使用sql查询检索时如何对表中的月份进行排序?

标签 sql-server sql-server-2008 select-query

我有一个从表中获取月份名称的查询。但此列不是日期时间数据类型,而是 varchar 列。如何按照月份名称升序排序?
这是我目前得到的输出。

August
November
October
September

这是我的查询

select distinct(payemnt_month) as month from payement_details

最佳答案

使用下面的一个,我已附加您的月份、日期和年份。然后我提取月份数

select * from payment_details order by DATEPART(MM,payemnt_month+'01'+'00')

更新 如果可能的话请更新您的查询,如下所示。

SELECT * FROM 
(
SELECT DISTINCT month,
                Datepart(MM, payemnt_month+ '01' + '00') MONTHNO
FROM   payment_details )A
ORDER  BY MONTHNO

或者如果您没有任何保留月份的问题,请像下面这样

   SELECT DISTINCT month,
                        Datepart(MM, payemnt_month+ '01' + '00') MONTHNO
        FROM   payment_details
order by month,Datepart(MM, payemnt_month+ '01' + '00')

关于sql-server - 使用sql查询检索时如何对表中的月份进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40394915/

相关文章:

sql - 如何在 sql server 中聚合 "continuous"记录?

sql - 将值转换为单行

sql - 在日期时间间隔内展开表格

sql - 需要一些有关 MySQL SELECT 查询的帮助

mysql - latin-1 到 utf-8 数据移植

sql - 如何查找大描述值中的字符串

sql-server - SaveChanges() 在 EF6 中究竟做了什么?

vb.net - 在SQL Server 2008 R2数据库中存储图像

ms-access - 选择过去一小时的数据,MS Access