因爲你是把它作爲文本,你不能正確排序直接在列(你似乎已經發現)。您需要拆分該列,然後對其進行排序。喜歡的東西:
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