mysql datetime格式化日期(sql 日期格式)

mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,现提供mysql格式换时间函数,可以方便的看到格式化后的时间。1.DATE_FORMAT()函数用于以不同的格式显示日期/时间数据。DATE_FORMAT(date,format)format参数的格式有%a缩写星期名%b缩写月名%c月,数值%D带有英文前缀的月中的天%d月的天,数值(00-31)%e月的天,数…

大家好,又见面了,我是你们的朋友全栈君。

mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,现提供mysql格式换时间函数,可以方便的看到格式化后的时间。

1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

DATE_FORMAT(date,format)

format参数的格式有

%a

缩写星期名

%b

缩写月名

%c

月,数值

%D

带有英文前缀的月中的天

%d

月的天,数值(00-31)

%e

月的天,数值(0-31)

%f

微秒

%H

小时 (00-23)

%h

小时 (01-12)

%I

小时 (01-12)

%i

分钟,数值(00-59)

%j

年的天 (001-366)

%k

小时 (0-23)

%l

小时 (1-12)

%M

月名

%m

月,数值(00-12)

%p

AM 或 PM

%r

时间,12-小时(hh:mm:ss AM 或 PM)

%S

秒(00-59)

%s

秒(00-59)

%T

时间, 24-小时 (hh:mm:ss)

%U

周 (00-53) 星期日是一周的第一天

%u

周 (00-53) 星期一是一周的第一天

%V

周 (01-53) 星期日是一周的第一天,与 %X 使用

%v

周 (01-53) 星期一是一周的第一天,与 %x 使用

%W

星期名

%w

周的天 (0=星期日, 6=星期六)

%X

年,其中的星期日是周的第一天,4 位,与 %V 使用

%x

年,其中的星期一是周的第一天,4 位,与 %v 使用

%Y

年,4 位

%y

年,2 位

例子:

DATE_FORMAT(NOW(),’%b %d %Y %h:%i %p’)

DATE_FORMAT(NOW(),’%m-%d-%Y’)

DATE_FORMAT(NOW(),’%d %b %y’)

DATE_FORMAT(NOW(),’%d %b %Y %T:%f’)

输出结果:

Dec 29 2008 11:45 PM

12-29-2008

29 Dec 08

29 Dec 2008 16:25:46

2. MySQL 格式化函数 FROM_UNIXTIME()

SELECT FROM_UNIXTIME(date, ‘%Y-%c-%d %h:%i:%s’ ) as post_date ,

date_format(NOW(), ‘%Y-%c-%d %h:%i:%s’ ) as post_date_gmt

FROM `article` where outkey = ‘Y’

1、FROM_UNIXTIME( unix_timestamp )

参数:一般为10位的时间戳,如:1417363200

返回值:有两种,可能是类似 ‘YYYY-MM-DD HH:MM:SS’ 这样的字符串,也有可能是类似于 YYYYMMDDHHMMSS.uuuuuu 这样的数字,具体返回什么取决于该函数被调用的形式。

48304ba5e6f9fe08f3fa1abda7d326ab.png

mysql> select FROM_UNIXTIME(1344887103);

+—————————+

| FROM_UNIXTIME(1344887103) |

+—————————+

| 2012-08-14 03:45:03 |

+—————————+

1 row in set (0.00 sec)

48304ba5e6f9fe08f3fa1abda7d326ab.png

2、FROM_UNIXTIME( unix_timestamp ,format )   参数 unix_timestamp :与方法 FROM_UNIXTIME( unix_timestamp ) 中的参数含义一样;   参数 format : 转换之后的时间字符串显示的格式;   返回值:按照指定的时间格式显示的字符串;

48304ba5e6f9fe08f3fa1abda7d326ab.png

mysql> select FROM_UNIXTIME(1344887103,’%Y-%M-%D %h:%i:%s’);

+———————————————–+

| FROM_UNIXTIME(1344887103,’%Y-%M-%D %h:%i:%s’) |

+———————————————–+

| 2012-August-14th 03:45:03 |

+———————————————–+

1 row in set (0.00 sec)

mysql> select FROM_UNIXTIME(1344887103,’%Y-%m-%D %h:%i:%s’);

+———————————————–+

| FROM_UNIXTIME(1344887103,’%Y-%m-%D %h:%i:%s’) |

+———————————————–+

| 2012-08-14th 03:45:03 |

+———————————————–+

1 row in set (0.00 sec)

48304ba5e6f9fe08f3fa1abda7d326ab.png

3、判断是不是同一天:

48304ba5e6f9fe08f3fa1abda7d326ab.png

SELECT tbl_gamedata.GameMapName,tbl_playerdata.GameMode, tbl_gamedata.MatchMode, tbl_playerdata.GameResult, SUM(tbl_playerdata.GameIsWin) AS tday_winCount,

SUM(tbl_playerdata.AssistCount) AS tday_assistCount,SUM(tbl_playerdata.KillCount) AS tday_killCount,

SUM(tbl_player_title.ThreeKill) AS tday_threeKill,SUM(tbl_player_title.FourKill) AS tday_fourKill,SUM(tbl_player_title.FiveKill) AS tday_fiveKill

FROM tbl_playerdata

LEFT JOIN tbl_gamedata ON tbl_playerdata.GameID = tbl_gamedata.GameID

LEFT JOIN tbl_player_title ON tbl_player_title.GameID = tbl_playerdata.GameID AND tbl_player_title.PlayerID = tbl_playerdata.PlayerID

WHERE tbl_playerdata.PlayerID = user_id AND (tbl_playerdata.GameResult = 2 OR tbl_playerdata.GameResult = 3) AND TO_DAYS(FROM_UNIXTIME(tbl_playerdata.GameStartTime)) = TO_DAYS(NOW())

GROUP BY tbl_gamedata.GameMapName, tbl_playerdata.GameMode,tbl_gamedata.MatchMode,tbl_playerdata.GameResult;

48304ba5e6f9fe08f3fa1abda7d326ab.png

其中TO_DAYS(FROM_UNIXTIME(tbl_playerdata.GameStartTime)) = TO_DAYS(NOW()) 就是我们需要的判断

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129138.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号