2014-01-08 85 views
0

我有一個屬性附加傷害「日期」,這是一個字符串DB ...SQL在今年獲取數據

其格式爲: 「2014年1月5日下午6時26分」 並想獲得該日期是今年的行數。

已經知道如何轉換日期:

SELECT convert(datetime, 'Oct 23 2012 11:01AM') 

,我發現這個代碼,但我不知道如何加入兩個

select * from datetimes2 
where dtm2 >= CAST(CURRENT_TIMESTAMP AS DATE) 
and dtm2 < DATEADD(DD, 1, CAST(CURRENT_TIMESTAMP AS DATE)) 
; 

現在我不知道該怎麼做我想:(

+0

而你的數據庫是...?今年是... 2014年? – Sergi

+0

你的意思是獲取數據..從日期和日期+ 1 ?? –

+0

你的意思是獲取當年的數據? –

回答

1

這是你在找什麼?

DECLARE @datetime DATETIME = 'Jan 5 2014 6:26 PM' 
SELECT 
* 
FROM datetimes2 
WHERE [Date] >= CONVERT(DATETIME, CAST(DATEPART(YEAR, @datetime) AS VARCHAR) + '-01-01') 
    AND [Date] <= CONVERT(DATETIME, CAST(DATEPART(YEAR, @datetime) AS VARCHAR) + '-12-31') 

這將得到整個2014年的記錄。希望這有助於!

+0

好:)完美的作品....現在我想要同樣的事情過去30天? –

+0

已經想通了怎麼辦最近30天:從EmailsRecebidos SELECT COUNT(*),其中數據> =使用DateAdd(天,則DateDiff(天,0,GETDATE()) - 30,0) 非常感謝! –

0

就這麼簡單(假設SQL服務器,因爲轉換())

select * from mytable where year(convert(datetime, date)) = year(getDate())