2013-01-02 81 views
0

我想要獲得按月份保存的所有記錄,按日期保存的所有記錄。 我的日期列數據類型是「日期」,並命名爲「Emissao」如何編寫查詢,我可以按月獲取數據?

month = 6 and year =2012; 
query.Append(" SELECT NOTA,OPERADOR,EMISSAO,ORIGEM,TOTAL,ESPECIE,EMISSAO,HORA,DATA_IMPRESSAO,HORA_IMPRESSAO,CANCELADO "); 
query.AppendFormat(" FROM VENDAS WHERE Month(EMISSAO)='{0}' and Year(EMISSAO)='{1}' ", Convert.ToInt32(month), Convert.ToInt32(year)); 
cmd.CommandText = query.ToString(); 

但我有例外的是「Tokan未知月」?

+0

'month = 6 and year = 2012'是什麼?'?這應該是代碼? –

+0

您是否嘗試刪除{0}和{1}周圍的引號? – PinnyM

+0

月份和年份我想通過datetimepicker – Saqi

回答

0

不用魔法索引你可能會更好做一個查詢,如:

SELECT ... FROM VENDAS WHERE EMISSAO >= '06/01/2012' AND EMISSAO < '07/01/2012' 

注> =在第一部分和第二部分<。我只是建議這樣做,因爲它是(大部分)微不足道的,以找出「下個月」的第一個(需要捕捉12月/ 1月的細節),而不是找出一個月的最後一天。

但是,如果你有公用事業快速給你的信息,這工作得很好。

你想這樣做,因爲你可以更容易地利用日期的索引。如果您使用日期的某個組件進行查詢,那麼賠率非常高,您將對錶進行表掃描(通常不是您想要的),除非您執行特殊索引。

相關問題