2013-04-26 72 views
-2

我在字段中的数据为“日期:03-21-13 12/13/14/15日期:04-21-13 39/12/34/14日期: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
+1

你好采取的分裂功能。你能详细解释一下你的数据吗?你有一个单独的字段,其中包含三个日期的文本?你还有别的东西吗? – GHC 2013-04-26 01:44:18

+0

请详细说明,以便我们提供帮助。 – 2013-04-26 01:59:55

+0

是的数据是包含三个或更多日期的文本。但是当我创建一个报告时,该字段中的数据应该如上所示显示。 – sha 2013-04-26 02:44:07

回答

0

因为你是把它作为文本,你不能正确排序直接在列(你似乎已经发现)。您需要拆分该列,然后对其进行排序。喜欢的东西:

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 

Jeff Moden Tally OH!

相关问题