2013-11-05 36 views
-1

我有一個iPhone應用程序,其中我有Content表中的數據,並且有ContentAddedDateTime表中的列,其中是日期時間ContentAdded我想在查詢中選擇最近添加的內容ContentTable任何想法如何得到這個。如何從iPhone應用程序最近日期的sqlite表中獲取數據

這是表結構:

NSInteger contentID; 
NSString*categoryID; 
NSString*topicID; 
NSString*contentType; 
NSString*contentTitle; 
NSString*contentAddedByUserID; 
NSString*contentDescription; 
NSString*contentFileName; 
NSString*categoryName; 
NSString*topicName; 
NSString*contentSavedFileLocation; 
NSString*contentSize; 
NSString*contentAddedDateTime; 

我聯繫,我們可以使用開始日期和結束日期,但我只有只有一列ContentAddedDateTime

select = [[NSString alloc] initWithFormat:@"select * FROM ContentMaster Where ContentAddedDateTime='%@'",currentDateTime]; 
+0

因爲對於不完整的問題,Downvote。無論您嘗試到目前爲止,您都必須共享代碼。隨時隨地處理問題。這裏沒有人想要爲你寫代碼。 – Tirth

回答

0

上述所有的查詢不會在這種情況下工作,首先是讓我清楚你的1兩件事,SQLite的對待「日期」類型爲字符串,所有的比較與字符串類型一樣完成,因此您必須將日期轉換爲UNIX毫秒,然後根據UNIX時間戳手動對它們進行排序。

time_t unixTime = (time_t) [dateObject timeIntervalSince1970]; 
+0

這是不正確的。如果該列使用「DATETIME」類型設置,那麼使用「order by」可以正確地對日期/時間值進行精確排序。沒有必要先做任何類型的轉換。 – rmaddy

+0

這取決於您使用的日期格式,只需更改日期格式並查看效果 –

1

order by ContentAddedDateTime desc添加到查詢中。第一個結果將是最近的。

3

請使用下面的結構。

SELECT column_name,column_name 
FROM table_name 
ORDER BY column_name,column_name ASC|DESC; 

如:

SELECT * FROM ContentMaster 
ORDER BY ContentAddedDateTime DESC; 
相關問題