sqlite时间范围查询技巧

  • Post author:
  • Post category:其他




语句

select cast(strftime(‘%w’,create_time,’ weekday 0’)) as int) week, count from

(select

,(select count(

) from bm_entity t2 where t2.create_time<t1.create_time) as count from bm_entity t1)

where create_time between date(‘now’, ‘start of day’, ‘-3 months’, ‘+1 days’) and date(‘now’, ‘start of day’) group by week;



sqlite支持以下时间函数:

(菜鸟)

1 date(timestring, modifier, modifier, …) 以 YYYY-MM-DD 格式返回日期。
2 time(timestring, modifier, modifier, …) 以 HH:MM:SS 格式返回时间。
3 datetime(timestring, modifier, modifier, …) 以 YYYY-MM-DD HH:MM:SS 格式返回。
4 julianday(timestring, modifier, modifier, …) 这将返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数。
5 strftime(format, timestring, modifier, modifier, …) 这将根据第一个参数指定的格式字符串返回格式化的日期。具体格式见下边讲解。



timeString时间字符串

在这里插入图片描述

now代表现在



modifier 修饰符

  1. NNN days
  2. NNN hours
  3. NNN minutes
  4. NNN.NNNN seconds
  5. NNN months
  6. NNN years
  7. start of month
  8. start of year
  9. start of day
  10. weekday N
  11. unixepoch
  12. localtime
  13. utc



cast

语句中把str字符串转换为了整数类型

语法:CAST (expression AS data_type)

expression:任何有效的SQServer表达式。

AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。

data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。

二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED

————————————————

版权声明:本文为CSDN博主「猿来如此呀」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_21101587/article/details/78642423

select

,(select count(

) from bm_entity t2 where t2.create_time<t1.create_time) as count from bm_entity t1

这个select语句用来比较两张相同的表即为t1t2,球t2比t1时间小的数量(实际就是在该记录以前所有的记录数量)。由于表示按时间顺序依次录入,就可以表示某一个记录的以前所有的记录数。



版权声明:本文为m0_48892985原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。