Mysql如何获取当前年月时间的年 月 日 及具体的值

代码如下:create table if not exists t(&& id int,&& addTime datetime default ' 00:00:00&)
添加两条初始数据:
insert t values(1, ' 21:00:00&);insert t values(2, ' 21:00:00&);
一、当天或当日插入的数据:
1、传统对比判断:SELECT * FROM `t` WHERE DATE_FORMAT(addTime,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')");2、第一点的简写:SELECT * FROM `t` WHERE addTime &= date_format(NOW(),'%Y-%m-%d');3、利用函数判断:SELECT * FROM `t` WHERE DATEDIFF(addTime,NOW()) =0;//推荐此方法4、利用时间戳判断:SELECT * FROM `t` WHERE addTime BETWEEN (UNIX_TIMESTAMP(now()-86440)) AND now();注:返回当天时间的mysql函数有CURDATE()、CURRENT_DATE()、CURRENT_DATE、NOW()几种;其中NOW()获取的日期格式为 00:00:00的时间;CURDATE()、CURRENT_DATE()、CURRENT_DATE是获取日期格式为的时间,所以返回的时间无时分秒;
二、当月的相关数据写法:
1、今天是当月的第几天:SELECT DAYOFMONTH( NOW( ) );2、获取当月的第一天时间:SELECT DATA_SUB( NOW(), INTERVAL DAYOFMONTH(NOW()) & 1 DAY);日期运算函数,句型:date_add(date,INTERVAL expr type)和date_sub(date,INTERVAL expr type)date为一个datetime或date值,可当作起始时间,expr为一个表达式,用来指定增加或减少的时间间隔数目,可为一个字符串&若为负值,则在表达式前加个"-"符号。type为关键词,它表示了表达式被解释的方式,通常用年(year)、月(month)、日(day)、周(week)等。INTERVAL的用户说明:
1、当函数使用时,即INTERVAL(),为比较函数,如:INTERVAL(10,1,3,5,7); 结果为4;原理:10为被比较数,后面1,3,5,7为比较数,将后面四个依次与10比较,看后面数字组有多少个少于10,则返回其个数。前提是后面数字组为从小到大排列,否则返回结果0。2、当关键词使用时,表示为设置时间间隔,常用在date_add()与date_sub()函数里,如:INTERVAL 1 DAY ,解释为将时间间隔设置为1天。
弄清楚了上面几个重要的日期运算函数,下面再来一个混合的日期运算。3、上个月的第一天时间:SELECT DATE_SUB( DATE_SUB( NOW( ) , INTERVAL DAYOFMONTH( NOW( ) ) -1 DAY ) , INTERVAL 1 MONTH ); 是不是一目了然了!
三、当周的相关数据写法:
1、获取今天是一周第几天或星期几:SELECT WEEKDAY(now());返回的是数字:0为周一,6为周日2、获取本周的第一天日期:SELECT DATE_SUB(now(),INTERVAL WEEKDAY(now()) day);或SELECT DATE_ADD(now(),INTERVAL -WEEKDAY(now()) day);或 SELECT CURDATE( ) & WEEKDAY( CURDATE( ) );3、再写一个上周的第一天至现在的数据:(以表t为数据表)SELECT * FROM `t` WHERE addTime &= date_format(date_sub(date_sub(now(), INTERVAL WEEKDAY(NOW()) DAY), INTERVAL 1 WEEK), &%Y-%m-%d');是不是有些感觉了!
注:若你是以时间戳保存的时间字段,那么请用from_unixtime()函数转换为时间格式,如:from_unixtime($timestamp)
四、Mysql中将日期转为时间戳
前三点的方法,讲的都是将日期转为相应时间常量,并没有提到时间戳与时间的转换,这里把它写出来,
1、时间戳转日期,方法是select from_unixtime();2、日期转时间戳,方法是:select unix_timestamp('&);
结合前面3点,对于时间戳就更能灵活运用了!最后更新于:mysql查询 昨天 一周前 一月前 一年前的数据
mysql 昨天 一周前 一月前 一年前的数据 这里主要用到了DATE_SUB,
代码如下:SELECT * FROM yh_contentwhere inputtime&DATE_SUB(CURDATE(), INTERVAL 1 DAY)where inputtime&DATE_SUB(CURDATE(), INTERVAL 1 WEEK)where inputtime&DATE_SUB(CURDATE(), INTERVAL 1 MONTH)where inputtime&DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
注意:如果数据库中时间以UNIX时间戳的形式存放的话,在时间对比上需要更改为统一格式:
DATE_SUB()返回的是格式化后的时间:
需要用UNIX_TIMESTAMP()转化为UNIX时间戳形式对比:
代码如下:where inputtime&UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 DAY))where inputtime&UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 WEEK))where inputtime&UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 MONTH))where inputtime&UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))
详细请查看MySql时间函数:DATE_SUB、DATE_ADD、UNIX_TIMESTAMP等函数的用法
阅读(...) 评论()只有年份和月份,如何存入MYSQL?
只有年份和月份,如何存入MYSQL?
在MYSQL中DATE数据类型,格式为: 我现在的数据是从提交表单文件的选择列表中取得的年和月,缺少日,不知道用怎样的方式存入MYSQL 举例: 从表单中选择的是&&1997年7月 如何把这个日期存到MYSQL中呢
昵称: climby &时间:
昵称: bbsbiz &时间:
昵称: climby &时间:
昵称: bbsbiz &时间:
昵称: zzlaolv &时间:&>&Mysql按年,月,日,是分组统计数据
Mysql按年,月,日,是分组统计数据
上传大小:1KB
Mysql按年,月,日,是分组统计数据,适合做各种时间的数据查询
综合评分:0
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
Mysql按年,月,日,是分组统计数据
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
Mysql按年,月,日,是分组统计数据怎么让mysql取出的时间只显示日和月_百度知道
怎么让mysql取出的时间只显示日和月
我在数据库存的时间格式是,我将它取出来想让它变成2/24格式输出,要怎么做?...
我在数据库存的时间格式 是,我将它取出来想让它变成2/24格式输出,要怎么做?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自电脑网络类芝麻团
采纳数:123
获赞数:240
参与团队:
如果想数据库查出来就是格式好的,可以用DATE_FORMAT。select DATE_FORMAT(你的字段名,'%m/%d') from 你的表名;还可以在php中进行格式化,查出结果后用date进行格式化。echo date('m/d',strtotime(你的查询结果字段));
xiaoqiang151ha
xiaoqiang151ha
采纳数:32
获赞数:46
这个需要你在前台进行格式化写一个方法,将取出来的日期当成字符串处理成你要的格式然后写一个相反的方法,将你前台的日期能转换成数据库认识的日期格式
三藏技术论坛
三藏技术论坛
采纳数:29
获赞数:15
哦,存的时候要把存成时间截……。用strtotime(“”)转成时间戳存数据库里取的时候用以下可以转化任何格式了date(&m/d &,$row['time']);
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。13:54 提问
怎么得到mysql系统日期年月与表格日期字段年月一致的数据总数?
功能需求:本月到期保管箱数量。
问:我想要获取userbox表格中endDate的年月与当前系统时间年月相同的数据个数。用的如下语句,但是找出来不对。(endDate是datetime类型。)
select count(*) as count from UserBox where endDate="yyyy-MM";
按赞数排序
那你就是要按照一个固定时间统计数据喽。
那就把endDate转换成固定时间,再嵌套一层查询,先将endDate转换成月份格式,然后再去统计次数和时间。
select count(t.id),t.datetime
from (select id,to_char(endDate,'yyyy-mm') as datetime
from UserBox) t
group by t.datetime
比如想找和2016年4月相同的数据,就把时间转换成char
where to_char(endDate,'yyyy-mm')='2016-04'
不知道有没有理解错……
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐

我要回帖

更多关于 具体某月用什么介词 的文章

 

随机推荐