sqlite3学习笔记——sqlite3中日期时间的自动增量
2016-07-09 22:26
260 查看
问题:如何使日期时间的数据自动增量?
自动增量是指日期自动递增,比如表中有个字段(field)名为“日期”,第1条数据值为2016-07-01,那么创建数据时字段(field)能够“日期”字段能够以天为单位递增。第2条数据值为2016-07-02,第3条数据为2016-07-03 … …。上述功能实现了自动填充日期字段功能。
上图中,date字段描述了自动增量。注意:此表(table)名称为“diet data”。
那么如何实现上述日期时间的自动增量?接下来请看解决办法。
日期时间类数据自动增量的解决方法
```SQL insert into [diet data] (date) values((select date(max(date),'+1 day') from [diet data])) ```
此处用到结构化查询语法(SQL):
insert into table (column_list) values (value_list);
其中:
(SELECT date(max(date),’+1 day’) FROM [diet data] 是date字段的值。也就是语法结构中的 ( value_list)。
注:虽然很长的一段代码,返回的结果是一个日期的值,比如2016-07-10。
max(date) 是找出date字段中最大的值。在这里主要的功能是找到上一条日期,这里data的类型为text,也称为字符串。这里date(max(date),’+1 day’)主要功能是:在上一条data数据日期基础上加1天。这个函数实现了日期的自动增量,是实现日期时间的自动增量的关键。
如果你想实现月份为单位的自动增量,年份为单位的自动增量,你就需要更多的了解data函数,结合max()函数就可以实现日期时间的自动增量了。
date(timestring, modifier, modifier, ...)
date函数具体的使用方法请参照sqlite的官网Date And Time Functions的解释
总结:所用到的函数与语法
日期时间函数date(timestring, modifier, modifier, …)
寻找字段(field)中最大值的函数
max(X)
The max() aggregate function returns the maximum value of all values in the group. The maximum value is the value that would be returned last in an ORDER BY on the same column. Aggregate max() returns NULL if and only if there are no non-NULL values in the group.
SQL语法
insert into table (column_list) values (value_list);
相关文章推荐
- Oracle清除缓存的命令
- Ubuntu の MongoDB 安装教程及简单操作
- postgresql----字符串函数与操作符
- Memcached源码分析之资源分享
- MongoDB主从复制
- 用户 'sa' 登录失败。 (Microsoft SQL Server,错误: 18456)
- 【Oracle 优化器】自适应执行计划(Adaptive Execution Plans)
- SQL Server经验
- MySQL读取各个my.cnf配置文件的先后顺序是:
- 五分钟学会之数据库~
- MySQL 连接数和状态查看命令
- Hibernate开发之session
- Memcache知识点梳理
- 安装完sql server2008后系统80端口被占用问题
- 109---oracle的oracle的PL/SQL,异常处理, 游标(CURSOR), 子程序,存储过程
- 解决安装mysql的”A Windows service with the name MySQL already exists.“问题
- 108---经典oraclecrud语句
- Windows下更改mysql data目录
- 查看和设置mysql字符集
- Oracle数据库的常用操作