2010-11-19 1 views

答えて

2

Cが実際に日付時間情報が設定されたdatetime列である場合は、あなたが行うことができます:

select a, max(c) 
    from table 
group by a; 

Bdate列で、Ctime列であれば、あなたが必要です

select a, max(convert(varchar(15), b) + ' ' + convert(varchar(15), c)) 
    from table 
group by a; 
+1

ありがとうございます!実際にはBとCは個別の日付と時刻(0)フィールドです。 – John

+0

恐ろしい!それがうれしかった。 –

+0

パブロ、これは実行されません。 "データ型dateとvarcharは、加算演算子では互換性がありません"。 – John

0

私が行うこと:

select convert(varchar, getdate()) 

max()を見つけるときに役立たない "Nov 19 2010 5:17 PM"が表示されます。
データベースのデフォルトにこの問題がない場合でも、私はこのスタイルを覚えています。ような何か:私はあなたが日付型と時刻タイプが、同じ考え方を使用している知っている

select x.a, 
cast(max(convert(varchar, x.b, 112)+' '+ 
convert(varchar, x.c, 108) as Datetime)) 
as maxDateTime 
from table x 
group by x.a 

は、これは "29.000:20 2010-11-19 17" を生成します。

関連する問題