2011-11-15 36 views
1
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO ADDEXPENSE(date, description, category, amount) VALUES (\"%@\", \"%@\", \"%@\",\"%@\")", fieldOne.text, fieldTwo.text,fieldThree.text , fieldFour.text]; 

我已經採取了fieldOne日期選擇器和保存數據工作正常。 但如何檢索兩個日期之間的數據?SQLite查詢檢索兩個日期之間的數據保存爲字符串

,這是我用

UIDatePicker *picker = (UIDatePicker *)sender; 
NSDate *dateSelected = [picker date]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateStyle:NSDateFormatterMediumStyle]; 
+0

你有問題的解決方案嗎? –

回答

0

首先你要獲取日期和轉換成nsdates.Then你必須檢查每行日期(無論是與上面提到的兩個日期的的pickerview或不)使用日期中的比較函數。

+0

可以請你提供一點我的代碼嗎? – Chandu

1

我建議您在SQLite網站上閱讀Date and Time Functions。您可以修改這些函數以從NSDate保存的格式中檢索unix時間戳,並在WHERE子句中簡單地在您的SQL查詢中使用它們。

1

您可以構建一個sqlite查詢來選擇日期範圍中的行。首先,你必須格式化爲SQL友好格式,如下所示:

NSDate * selected = [datePicker date]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"yyyy-MM-dd"]; 
NSString * dateString = [dateFormat stringFromDate:selected]; 
NSString * sql = [[NSString alloc] initWithFormat:@"SELECT * FROM table WHERE (startdate <= '%@') AND (enddate >= '%@)", dateString, dateString]; 

等等。將它們插入表格時,需要正確格式化日期。

1

我也堅持同樣的問題。我必須在兩個日期之間取數據。但是我將這個格式的日期存儲爲SQLite中的字符串'YYYY-MM-dd'。然後我使用下面的查詢來獲取數據。 &我得到了結果。在這裏,我只是將我的日期列改爲Date類型。

SELECT * FROM tableName WHERE columnnName(Date) BETWEEN 'YYYY-MM-dd' and 'YYYY-MM-dd' 
0

以下是關於我在做的使用SQLite DB的iOS應用程序。

SELECT COUNT(carSold) 
FROM cars_sales_tbl 
WHERE date 
BETWEEN '2015-04-01' AND '2015-04-30' 
AND carType = "Hybrid" 

它就像一個魅力! 希望有人能夠使用它!

乾杯!

相關問題