2013-04-26 58 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!

相關問題