因为你是把它作为文本,你不能正确排序直接在列(你似乎已经发现)。您需要拆分该列,然后对其进行排序。喜欢的东西:
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!
你好采取的分裂功能。你能详细解释一下你的数据吗?你有一个单独的字段,其中包含三个日期的文本?你还有别的东西吗? – GHC 2013-04-26 01:44:18
请详细说明,以便我们提供帮助。 – 2013-04-26 01:59:55
是的数据是包含三个或更多日期的文本。但是当我创建一个报告时,该字段中的数据应该如上所示显示。 – sha 2013-04-26 02:44:07