MySql编程技巧-利用BIT_COUNTBIT_OR统计登陆天数

MySql编程技巧-利用BIT_COUNTBIT_OR统计登陆天数,第1张

文章摘要:

1、BIT_COUNT/BIT_OR的用法

2、使用位组函数来计算每个月中用户登陆的天数

3、举一反三:统计每个年度用户登陆天数。

示例表中含有代表用户访问网页的年-月-日值。

将返回:

该查询计算了在表中按年/月组合的不同天数,BIT_OR(或)可以自动去除重复的询问。

下面以比较流行的mysql图形化管理工具Navicat为例,其他工具或者在命令行中以及编程语言中 *** 作时的执行的sql语句是一样的。

1、假设在数据库中有一个名为testtest的表格,表格内容如下图所示,表中有三条记录是9月份的

2、打开一个查询窗口,输入查询语句select from testtest where month(date)='9';,该语句表示查询testtest表格中9月份的记录

3、点击“运行”执行该sql语句,在下方可以看到已经查询到了9月份的三条记录

4、如需按年查询可输入select from testtest where year(date)='2017';,2017代表需要查询的年份。如下图所示只查询到了一条记录是2017年的

mysql两个日期计算天数的计算有如下方式:

1、利用TO_DAYS函数

select to_days(now()) - to_days('19930908')

2、利用DATEDIFF函数

select datediff(now(),'19930908')

参数1 - 参数2 等于间隔天数

3、利用TIMESTAMPDIFF函数

计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现。

函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为:

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其中unit单位有如下几种,分别是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 。该参数具体释义如下:

FRAC_SECOND   表示间隔是毫秒

SECOND   秒

MINUTE   分钟

HOUR   小时

DAY   天

WEEK   星期

MONTH   月

QUARTER   季度

YEAR   年

例如:

#计算两日期之间相差多少周

select timestampdiff(week,'2011-09-30','2015-05-04');

#计算两日期之间相差多少天

select timestampdiff(day,'2011-09-30','2015-05-04');

SELECT,DAYOFYEAR(CONCAT(YEAR(NOW()),'-12-31'))。根据查询MySQL相关信息显示,mysql取今年总天数是SELECT,DAYOFYEAR(CONCAT(YEAR(NOW()),'-12-31'))。MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。

取得当前时间用 now() 就行。

在数据库中格式化时间 用DATE_FORMA T(date, format)

根据格式串format 格式化日期或日期和时间值date,返回结果串。

可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值:

%S, %s 两位数字形式的秒( 00,01, , 59)

%i 两位数字形式的分( 00,01, , 59)

%H 两位数字形式的小时,24 小时(00,01, , 23)

%h, %I 两位数字形式的小时,12 小时(01,02, , 12)

%k 数字形式的小时,24 小时(0,1, , 23)

%l 数字形式的小时,12 小时(1, 2, , 12)

%T 24 小时的时间形式(h h : m m : s s)

%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)

%p AM 或P M

%W 一周中每一天的名称( S u n d a y, Monday, , Saturday)

%a 一周中每一天名称的缩写( Sun, Mon, , Sat)

%d 两位数字表示月中的天数( 00, 01, , 31)

%e 数字形式表示月中的天数( 1, 2, , 31)

%D 英文后缀表示月中的天数( 1st, 2nd, 3rd, )

%w 以数字形式表示周中的天数( 0 = S u n d a y, 1=Monday, , 6=Saturday)

%j 以三位数字表示年中的天数( 001, 002, , 366)

% U 周(0, 1, 52),其中Sunday 为周中的第一天

%u 周(0, 1, 52),其中Monday 为周中的第一天

%M 月名(J a n u a r y, February, , December)

%b 缩写的月名( J a n u a r y, February, , December)

%m 两位数字表示的月份( 01, 02, , 12)

%c 数字表示的月份( 1, 2, , 12)

%Y 四位数字表示的年份

%y 两位数字表示的年份

%% 直接值“%”

select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test

以上就是关于MySql编程技巧-利用BIT_COUNT/BIT_OR统计登陆天数全部的内容,包括:MySql编程技巧-利用BIT_COUNT/BIT_OR统计登陆天数、在MySql中、怎样根据年份或者月份查询数据表中的数据、mysql两个日期计算天数怎么算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10126068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存