SQLite数据类型

SQLite 只有五种数据类型

存储类描述
NULL数据库中存储的值为NULL
INTEGER其值是一个带符号的整数,根据值的大小存储在1,2,4,6,8字节中
REAL浮点数,存储8字节的IEEE浮点数
TEXT值是文本字符串,使用数据库编码存放
BLOB值是一个二进制数据,完全根据它的输入存放

Date 与 Time 数据类型

SQLite 没有一个单独的用于存储日期和/或时间的存储类,但 SQLite 能够把日期和时间存储为 TEXT、REAL 或 INTEGER 值。
存储类日期格式
TEXT格式为 “YYYY-MM-DD HH:MM:SS.SSS” 的日期。
REAL从公元前 4714 年 11 月 24 日格林尼治时间的正午开始算起的天数。
INTEGER从 1970-01-01 00:00:00 UTC 算起的秒数。

SQLite日期函数

使用日期函数能够有效的进行数据类型向日期的转换

函数作用
datetime()产生日期和时间
date()产生日期
time()产生时间
strftime()对产生的日期和时间进行格式化

在时间/日期函数里可以使用如下格式的字符串作为参数:


  • YYYY-MM-DD
  • YYYY-MM-DD HH:MM
  • YYYY-MM-DD HH:MM:SS
  • YYYY-MM-DD HH:MM:SS.SSS
  • HH:MM
  • HH:MM:SS
  • HH:MM:SS.SSS
  • now

其中now是产生现在的时间。
举例
select datetime('now');
-- 2016-05-21 12:11:24

select datetime('2016-05-21');
-- 2016-05-21 00:00:00
select datetime('2006-10-17 00:20:00','+1 hour','-12 minute');
结果:2006-10-17 01:08:00

select date('2006-10-17','+1 day','+1 year');
结果:2007-10-18

select datetime('now','start of year');
结果:2006-01-01 00:00:00

select datetime('now','start of month');
结果:2006-10-01 00:00:00

select datetime('now','start of day');
结果:2006-10-17 00:00:00

select datetime('now','+10 hour','start of day','+10 hour');
结果:2006-10-17 10:00:00

select datetime('now','localtime');
结果:2006-10-17 21:21:47

select datetime('now','+8 hour');
结果:2006-10-17 21:24:45
strftime()

strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。
strftime()的语法是strftime(格式, 日期/时间, 修正符, 修正符, …)

它可以用以下的符号对日期和时间进行格式化:
%d 月份, 01-31
%f 小数形式的秒,SS.SSS
%H 小时, 00-23
%j 算出某一天是该年的第几天,001-366
%m 月份,00-12
%M 分钟, 00-59
%s 从1970年1月1日到现在的秒数
%S 秒, 00-59
%w 星期, 0-6 (0是星期天)
%W 算出某一天属于该年的第几周, 01-53
%Y 年, YYYY
%% 百分号
strftime()的用法举例如下:

select strftime('%Y.%m.%d %H:%M:%S','now','localtime');
结果:2006.10.17 21:41:09
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值