2013-08-22 29 views
1

返回了你們對這裏的幫助DateTime值刪除時,我有以下SQL查詢:從查詢

SELECT DataLog.TimestampUTC,MeterTags.Name,DataLog.Data 
FROM DataLog 
INNER JOIN MeterTags 
ON DataLog.MeterTagId = MeterTags.MeterTagId 
WHERE DataLog.TimeStampUTC between cast(getdate() - 1 as date) and cast(getdate() as date) and 
     DataLog.MeterTagId Between 416 AND 462; 

這將返回一列「TimestampUTC」以YYYY-MM-DD HH:MM :SS。我想把時間放在這一欄內,只顯示YYYY-MM-DD。

你可以給任何幫助將非常感激。

在此先感謝。

+0

您正在使用哪些DBMS? –

+0

SQL Server 2008 R2的 – user2547340

+2

這已經回答了: http://stackoverflow.com/questions/923295/how-can-i-truncate-a-datetime-in-sql-server –

回答

2
SELECT convert(char(10), DataLog.TimestampUTC, 120) as TimestampUTC, 
MeterTags.Name,DataLog.Data 
FROM DataLog 
INNER JOIN MeterTags 
ON DataLog.MeterTagId = MeterTags.MeterTagId 
WHERE DataLog.TimeStampUTC between cast(getdate() - 1 as date) and cast(getdate() as date) and 
     DataLog.MeterTagId Between 416 AND 462; 
0

在SQL Server中,你可以轉換爲Date

select Convert(Date, Convert(datetime, '2013/01/01 12:53:45')) 

結果:

2013-01-01 
0

你應該使用: CAST(DataLog.TimestampUTC as date)

代碼如下:

SELECT CAST(DataLog.TimestampUTC as date),MeterTags.Name,DataLog.Data 
FROM DataLog 
INNER JOIN MeterTags 
ON DataLog.MeterTagId = MeterTags.MeterTagId 
WHERE DataLog.TimeStampUTC between cast(getdate() - 1 as date) and cast(getdate() as date) and 
     DataLog.MeterTagId Between 416 AND 462;