SQLite常用命令和函数

2022-03-16 00:00:00 专区 时间 字符串 的是 结构

SQLite在某些场景下还是很有用处,比如近在用Shell脚本+SQLlite做简单的业务处理,详细使用场景请看http://1024.services/index.php/archives/46/

  • sqlite 官网 https://www.sqlite.org/index.html(暂时更新这些,当业务中用到了更为复杂的逻辑在更新)

进入命令行

sqlite3 test.db

# 退出sqlite
.quit

查看表/表结构

# 查看所有表
.table

# 打开表头
.header on

# 查看所有表结构
select * from sqlite_master where type="table";

# 查看某张表结构
select * from sqlite_master where type="table" and name="emperors";

# 查看某张表结构也可以这样
.schema emperors

时间相关

注意sqlite里面没有时间数据格式,只有字符串,处理时间都是通过函数在处理字符串

# 获取的是格林威治时间
select datetime();
select CURRENT_TIMESTAMP;

# 这个一般常用,获取的是当前本地时间
select datetime(CURRENT_TIMESTAMP,'localtime');
select datetime(datetime(),'localtime');

# 将字符串时间转换成时间对象datetime
select datetime('2019-07-28 10:00:00');

# 获取时间差(默认单位为天)
select Cast ((JulianDay('now','localtime') - JulianDay('2019-07-28 10:00:00') ) as double );
# 当然也可以换成小时和分钟
select Cast ((JulianDay('now','localtime') - JulianDay('2019-07-28 10:00:00') ) * 24 as double );
# 换成分钟
select Cast ((JulianDay('now','localtime') - JulianDay('2019-07-28 10:00:00') ) * 24 * 60 as INTEGER );

# 格式化时间字符串
select strftime('%Y年%m月%d日%H点%M分%S秒', datetime('2019-07-28 10:00:00'))

# 时间在原来的基础上加减
SELECT datetime('2020-06-08 00:00:00', '+1 day') as plus_one_day; -- 当然加2天就是+2 day
SELECT datetime('2020-06-08 00:00:00', '-1 day') as minus_one_day; -- 当然减2天就是-2 day
SELECT datetime('2020-06-08 00:00:00', '+1 year') as plus_one_year; -- 当然加2年就是+2 year,减2年就是-2 year
SELECT datetime('2020-06-08 00:00:00', '+1 month') as plus_one_month; -- 当然加2月就是+2 month,减2月就是-2 month

SELECT datetime('2020-06-08 00:00:00', '+1 hour') as plus_one_hour; -- 当然加2小时就是+2 hour,减2小时就是-2 hour
SELECT datetime('2020-06-08 00:00:00', '+1 minute') as plus_one_minute; -- 当然加2分钟就是+2 minute,减2分钟就是-2 minute
SELECT datetime('2020-06-08 00:00:00', '+1 second') as plus_one_second; -- 当然加2秒就是+2 second,减2秒就是-2 second

来源  https://mp.weixin.qq.com/s/hFdXuYaeNyQ67AC3v77eCA

相关文章