2010-03-29 40 views
0

我需要阅读下面的查询的列值iPhone:如何阅读的strftime SQLite的函数返回值

SELECT strtime( '%Y-%M',created_at)的字段从表GROUP BY场

列字段的类型是3(我假设它是博客),但我需要字符串

我该怎么做?

更新

为const char * SQL = “SELECT CAST(的strftime( '%Y',created_at)为整数)截至今年FROM表GROUP BY年

如果(SQLITE_OK == sqlite3_prepare_v2 ([AppDelegate中分贝],SQL,-1,& queryhandle,NULL)){ 而(SQLITE_ROW == sqlite3_step(queryhandle)){

NSSTring* year = [NSString stringWithFormat:@"%d",sqlite3_column_int(queryhandle, 0)]; 

这段代码给了我3460截至今年

(已检查转换为整数,并投为varchar和sqlite3_column_text功能)

+0

我已经通过了今年创建领域分隔条件,而不是优雅的解决了这个问题,但解决方案上面并没有 – 2010-03-29 18:18:15

回答

1

只要created_at有时间字符串格式作为sqlite docs规定,这不是”无论在什么存储类型中使用特定的元组(尽管您可以使用typeof找出)函数。 strftime函数(您将其别名为field)的结果是text或null。

CREATE TABLE t (x BLOB); 
INSERT INTO t VALUES ("2010-03-29\x0"), ("2010-03-28"); 
SELECT strftime("%Y-%m", x), typeof(strftime("%Y-%m", x)), typeof(x) FROM t; 
|null|text 
2010-03|text|text 
+0

在SQLite的经理相同的结果,任何变体的工作,但不能取回有效数据 – 2010-03-29 15:33:02