SQL特殊查询

来源:互联网 发布:二维码点餐软件 编辑:程序博客网 时间:2024/04/27 07:58

一、查询某字段包含指定字符串

select * from table_name where 字段名 like '%指定字符串%'
%为任意字符串:
1、'%要查的字符串'指查询: '前面任意字符串'+'指定字符串'
2、'要查的字符串%'指查询: '指定字符串'+'后面任意字符串'
3、'%要查的字符串%'指查询: '前面任意字符串'+'指定字符串'+'后面任意字符串'


二、查询表中前7天的数据

select * from table_name where "时间字段" <= 'now' and "时间字段" > 'now' - 7


三、查询表中的时间段

eg: table_name表中有两个时间字段startTime、endTime,直接查询startTime与endTime的时间段
select (strftime('%s',endTime) - strftime('%s',startTime)) from table_name where + "条件";
strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。
strftime('格式',日期)
select strftime('%Y.%m.%d %H:%M:%S',"时间字段");
结果:2017.02.27 10:41:09

它可以用以下的符号对日期和时间进行格式化:
%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
%% 百分号


四、查询字段数值的总和

select sum("字段") from table_name
select total("字段") from table_name
sum(X):该函数返回同一组内的x字段值的总和,如果字段值均为NULL,该函数也返回NULL。如果所有的x字段值均为整型或者NULL,该函数返回整型值,否则就 返回浮点型数值。最后需要指出的是,如果所有的数据值均为整型,一旦结果超过上限时将会抛出"integer overflow"的异常。
total(X):该函数不属于标准SQL,其功能和sum基本相同,只是计算结果比sum更为合理。比如当所有字段值均为NULL时,和sum不同的是,该函数返回0.0。再有就是该函数始终返回浮点型数值。该函数始终都不会抛出异常。


五、最小值、最大值查询

select min("字段") from table_name
select max("字段") from table_name
min(X):该函数返回表的x字段的最小值,如果该字段的所有值均为NULL,该函数也返回NULL。
max(X):该函数返回同一组内的x字段的最大值,如果该字段的所有值均为NULL,该函数也返回NULL。
2 0
原创粉丝点击