Tsql 如何根据最近的日期对字段内的数据进行排序

Tsql 如何根据最近的日期对字段内的数据进行排序,tsql,reporting-services,ssis,Tsql,Reporting Services,Ssis,我在字段中有一个数据是“日期:03-21-13 12/13/14/15Date:04-21-13 39/12/34/14Date:04-19-13 19/45/65/12”。如何根据最近的日期在字段中对这些数据进行排序 应该是这样的 日期:04-21-13 39/12/34/14 日期:04-19-13 19/45/65/12 日期:03-21-13 12/13/14/15 因为您将其存储为文本,所以无法直接在列上正确排序(正如您发现的那样)。您需要拆分该列,然后在此列上排序。比如: Decl

我在字段中有一个数据是“日期:
03-21-13 12/13/14/15
Date:
04-21-13 39/12/34/14
Date:
04-19-13 19/45/65/12
”。如何根据最近的日期在字段中对这些数据进行排序

应该是这样的

  • 日期:
    04-21-13 39/12/34/14
  • 日期:
    04-19-13 19/45/65/12
  • 日期:
    03-21-13 12/13/14/15

因为您将其存储为文本,所以无法直接在列上正确排序(正如您发现的那样)。您需要拆分该列,然后在此列上排序。比如:

Declare @tvTable Table (
    TextColumn varchar(max)
)

Insert  @tvTable
Select  '04-19-13 19/45/65/12'
Union All
Select  '04-21-13 39/12/34/14'
Union All
Select  '03-21-13 12/13/14/15'
Union All
Select  '03-25-13 17/18/19/20'
Union All
Select  '05-01-13 99/88/77/66'
Union All
Select  '02-01-13 11/22/33/44'

Select  t.TextColumn
From    @tvTable t
Cross Apply dbo.fncDelimitedSplit8k(TextColumn, ' ') split
Where   split.ItemNumber = 1
Order By Cast(split.Item As DateTime) Desc

拆分函数取自

Hello。你能更详细地解释一下你有哪些数据吗?您是否有一个包含三个日期的文本的字段?您还有其他信息吗?请详细说明,以便我们提供帮助。是的,数据是包含三个或更多日期的文本。但是,当我创建报告时,字段中的数据应如上所示显示。