1

私のdbテーブルの1つに、日付を格納する列がFinalDateあり、データ型は. 、のように個別にグループ化/表示できるクエリを書きたいと思います。datetimevarcharFinalDateJun 2012Jul 2012

列の値は次のFinalDateようになります。

20120213  
20120225  
20120218  
20120306  
20120320

では、クエリを作成して個別に選択し、FinalDateそれらを表示する方法は次のとおりです。

Feb 2012  
Mar 2012
4

4 に答える 4

0

これがCTEベースのアプローチです。[[[TABLE_NAME]]] を、FinalDate フィールドを含むテーブルの実際の名前に置き換えます。SQL Server がフィルター処理された (非 seq 1) 行で処理を実行する可能性を防ぐために、CTE 内ではなく最終選択で処理を行いました。

WITH a AS (
    SELECT ROW_NUMBER() OVER (PARTITION BY LEFT(FinalDate, 6) ORDER BY FinalDate) seq, FinalDate 
    FROM [[[TABLE_NAME]]]
) SELECT LEFT(DATENAME(mm, FinalDate), 3) + ' ' + LEFT(FinalDate, 4)
FROM a
WHERE seq = 1
于 2013-06-10T05:14:01.370 に答える