sqlite3数据库,怎么插入一个已知的时间?求助

女神打Boss 2015-08-04 10:13:09
例如我得到一个时间的字符串是“20150505100000”2015年5月5日10点00

这样的时间怎么插入到数据库里?希望数据库这个时间字段的类型是TimeStamp。
我还需要根据这个字段来做查询条件
...全文
2038 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
女神打Boss 2017-08-02
  • 打赏
  • 举报
回复
引用 7 楼 caichengji1 的回复:
[quote=引用 6 楼 CKRGD 的回复:] 按照4楼的方法成功了,谢谢4楼
他这个是添加 字符串啊,并不是timestamp类型啊[/quote]数据库是timestamp类型,c++哪有timestamp类型
JasonSafe 2017-07-25
  • 打赏
  • 举报
回复
引用 6 楼 CKRGD 的回复:
按照4楼的方法成功了,谢谢4楼
他这个是添加 字符串啊,并不是timestamp类型啊
女神打Boss 2015-08-07
  • 打赏
  • 举报
回复
按照4楼的方法成功了,谢谢4楼
「已注销」 2015-08-04
  • 打赏
  • 举报
回复
sqlite 没有日期字段,而且没法支持这种连续的年月日时分秒,所以最好还是按楼上的方法吧,也可以直接比较大小。要将变量插入数据库,就只能用这种类似的语法了:
sqlite3 *db = NULL;
int rc = sqlite3_open("data.db", &db);
if (rc == SQLITE_OK) {
    char sqlstr[256] = { 0 };
    const char *date = "2015-05-05 10:00:00";
    snprintf(sqlstr, 256, "INSERT INTO table (date) VALUES (datetime('%s'));", date);
    rc = sqlite3_exec(db, sqlstr, NULL, NULL, NULL);
    if (rc == SQLITE_OK) {
        printf("insert successful!\n");
    } else {
        printf("insert failed!\n");
    }
    sqlite3_close(db);
}
女神打Boss 2015-08-04
  • 打赏
  • 举报
回复
引用 2 楼 jiqiang01234 的回复:
直接当字符串类型插入,不用时间类型
查询的时候比较字符串很麻烦,不好搞定
jiqiang01234 2015-08-04
  • 打赏
  • 举报
回复
直接当字符串类型插入,不用时间类型
女神打Boss 2015-08-04
  • 打赏
  • 举报
回复
例如这样:

insert into Effluent VALUES(datetime('2015-04-12 26:00:00'));
datatime括号里面的数怎么用变量替代
洗洗睡去 2015-08-04
  • 打赏
  • 举报
回复
是没有直接提供日期时间函数,但有提供间接的方法把日期存为TEXT, REAL或者INTEGER 官网 中文的

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧