2013-07-31 52 views
1

我想查詢以下:麻煩用一個簡單的查詢PyODBC

屬性未知小時是肯定的,如果員工工作與NULL 小時至少有一個項目,並沒有其他。

因我的thelist:

unknown_hours=process_query("SELECT Distinct COUNT(*) FROM Works_On WHERE ISNULL(Hours) AND ESSN='%s'" %i) 

temp.append(unknown_hours)

我首先做一個列表,包含的thelist所有相關的社會安全號碼,因此這樣做問題是我得到的答案像1L或0L,我需要它們是整數(對於算法)。有什麼想法嗎?

問候 Cenderze

+1

'int_unknown_hours = int(unknown_hours)'? – Brad

+0

謝謝!出於某種原因,我總是傾向於在簡單的答案之外進行思考,但是這對我有幫助! – Cenderze

回答

1

1L僅僅是整數值1的長整數表示:

>> type(1L) 
<type 'long'> 
>>> long(1) 
1L 
>>> int(1L) 
1 

轉換在Python:

int(unknown_hours) 

或者在數據庫層:

SELECT Distinct CAST(COUNT(*) AS UNSIGNED) FROM Works_On WHERE ISNULL(Hours) AND ESSN='%s' 
+0

謝謝!這是我在python中的第一個實驗,所以我忘記提及我使用了一個list和int()是不可能的。然而,隨着你的回答,我知道要尋找什麼,並最終使用地圖功能,所以謝謝! =) – Cenderze

+0

考慮使用列表理解來進行整數轉換,而不是使用map()。這兩種方法的比較[這裏](http://stackoverflow.com/questions/1247486/python-list-comprehension-vs-map)。 – Bryan