急求!mysql 数据库 datetime问题

急求!mysql 数据库 datetime问题,第1张

CREATE TABLE `abc` (

`countNumber` int(11) NOT NULL default '0',

`cdate` datetime NOT NULL default '2007-01-01 00:00:00',

KEY `a` (`countNumber`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

---------------------------------------------------------------------

insert into abc values (11,'2012-03-19');

insert into abc values (12,'2012-03-18');

insert into abc values (13,'2012-03-17');

insert into abc values (14,'2012-03-16');

insert into abc values (15,'2012-03-15');

insert into abc values (16,'2012-03-14');

insert into abc values (17,'2012-03-13');

insert into abc values (18,'2012-03-12');

insert into abc values (22,'2012-03-11');

insert into abc values (32,'2012-03-10');

insert into abc values (1,'2012-03-09');

测试数据

-----------------------------------------------------------------------

select (case when weekday(cdate)=6 then 'xingqi7' when weekday(cdate)=0 then 'xingqi1'when weekday(cdate)=1 then 'xingqi2'when weekday(cdate)=2 then 'xingqi3'when weekday(cdate)=3 then 'xingqi4'when weekday(cdate)=4 then 'xingqi5'when weekday(cdate)=5 then 'xingqi6' end) as weekname, countnumber, avg(countnumber) from abc where week(now())-week(cdate)=1 and date_format(cdate,'%H:%i:%s')='00:00:00' group by countnumber union select 'allcount', sum(countnumber),sum(countnumber)/count() from abc where week(now())-week(cdate)=1 and date_format(cdate,'%H:%i:%s')='00:00:00' ;

注意,这边我是以周日为每周的开始

用 DATE_FORMAT 函数就可以了

格式化以后的结果里面, 仅仅包含 年月日时 这4个部分即可

然后就可以 Group By 了。

下面是 DATE_FORMAT 函数的例子与说明。

mysql> SELECT

-> DATE_FORMAT(NOW(), '%Y~%m~%d %k%i%s' ) A;

+---------------------+

| A |

+---------------------+

| 2010~10~22 205509 |

+---------------------+

1 row in set (000 sec)

%W 星期名字(Sunday……Saturday)

%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)

%Y 年, 数字, 4 位

%y 年, 数字, 2 位

%a 缩写的星期名字(Sun……Sat)

%d 月份中的天数, 数字(00……31)

%e 月份中的天数, 数字(0……31)

%m 月, 数字(01……12)

%c 月, 数字(1……12)

%b 缩写的月份名字(Jan……Dec)

%j 一年中的天数(001……366)

%H 小时(00……23)

%k 小时(0……23)

%h 小时(01……12)

%I 小时(01……12)

%l 小时(1……12)

%i 分钟, 数字(00……59)

%r 时间,12 小时(hh:mm:ss [AP]M)

%T 时间,24 小时(hh:mm:ss)

%S 秒(00……59)

%s 秒(00……59)

%p AM或PM

%w 一个星期中的天数(0=Sunday ……6=Saturday )

%U 星期(0……52), 这里星期天是星期的第一天

%u 星期(0……52), 这里星期一是星期的第一天

%% 一个文字“%”。

所有的其他字符不做解释被复制到结果中。

1、检查定义的实体类Flight中的有关时间的变量的类型,想要拿到年月日 时分秒,一般用javautilDate 包下面的Date类型去接收

2、javasqlDate只有年月日

3、javasqlTime只有时分秒

4、javasqlTimestamp时间戳,具有年月日、时分秒,但是和java中常用的javautilDate类型互相转麻烦,所以省事一般都直接用util包下的Date

以上就是关于急求!mysql 数据库 datetime问题全部的内容,包括:急求!mysql 数据库 datetime问题、请教各位大牛关于mysql按时间段分组查询的问题。、在mysql数据库中查出来的只有时间日期而没有时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10199434.html

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

发表评论

登录后才能评论

评论列表(0条)

保存