2011-01-11 9 views
6

datetimeから日付部分が必要です。 "DD-MM-YYYY"DateTime SQL Server 2005から時間を削除

の形式で私がfollwoing試してみました

問合せ:

select Convert(varchar(11), getdate(),101)

出力:

01/11/2011

クエリ

SELECT cast(floor(cast(GETDATE() as float)) as datetime)

出力

2011-01-11 00:00:00.000

問合せ:

SELECT 
    CONVERT(VARCHAR(MAX),DATENAME(DD,GETDATE())) + '-' + 
    CONVERT(VARCHAR(MAX),DATEPART(MONTH,GETDATE())) + '-' + 
    CONVERT(VARCHAR(MAX),DATENAME(YYYY,GETDATE())) ` 

出力:

11-1-2011、すなわち "D-M-YYYY"

Iは "DD-MM-YYYY" の形式で出力を必要としました。

答えて

13
SELECT CONVERT(VARCHAR(10),GETDATE(),105) 
4

試してみてください。

SELECT convert(varchar, getdate(), 105) 

もっとhere。ここで

+0

おかげEumiro :) – Mike

3

を「作品」がありますが、文字列と文字列を比較している場合にのみ。日付を効果的に比較するには、SMALLDATETIMEデータ型を方程式の両側に強く型付けしておく必要があります(つまり、 "=")。したがって、上記の「apros」のコメントは実際には最高の答えです。なぜなら、言及されたブログには、丸めと日付の列を使用して深夜(つまり12:00:00)に「平坦化」することによって時間コンポーネントを取り除くための適切な数式があるからです。日付が時間なしで指定されている場合、SQL Server 2005は常にデフォルトの12:00:00になります。

これは私のために働いた...

select dateadd(day, datediff(day, '20000101', @date), '20000101') 
関連する問題