MySQL获取当前时间的多种方式总结
作者:吳名氏 发布时间:2024-01-21 02:29:34
1 获取当前完整时间
1.1 now()函数
select now();
输出:
2023-02-15 10:46:17
1.2 sysdate()函数
select sysdate();
输出:
2023-02-15 10:47:13
1.3 current_timestamp或current_timestamp()
current_timestamp和current_timestamp()函数的效果是一样的,只不过一个是关键字,一个是函数。它们的效果和now()函数也是一样的!
select current_timestamp;
select current_timestamp();
输出:
2023-02-15 10:48:43
2.获取当前日期
获取当前日期的方式有多种,这里只介绍常用的几种:
2.1使用CURDATE()获取(推荐)
select CURDATE();
输出:
2023-02-15
2.2使用CURRENT_DATE获取
select current_date;
输出:
2023-02-15
2.3使用date()格式化
select date(now());
输出:
2023-02-15
3.获取当前短时间
获取当前短时间的方式有多种,这里只介绍常用的几种:
3.1使用CURTIME()获取(推荐)
select CURTIME();
输出:
10:51:42
3.2使用CURRENT_TIME获取
select CURRENT_TIME;
输出:
10:52:26
4.函数now()和sysdate()的区别
虽然两者都可以获取当前的时间,但它们获取的机制是不同的:
now()取的是语句开始执行的时间
sysdate()取的是动态的实时时间
这么说不明白?先看下面的示例:
说明:先查询NOW()和SYSDATE(),然后sleep3秒,再查询NOW()和SYSDATE()
分析结果可得:now()值不发生改变,sysdate()时间在sleep3秒后发生改变。也就是说now()获取的是sql开始执行的时间,尽管中间出现了其他的操作,都不会影响其值。而sysdate()会影响。
补充:mysql获取当前时间+1天_mysql获取当前时间,前一天,后一天
错误的sql语句
eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < CURDATE()+1;
虽然 获取到的数量在测试环境中是正确的,但在发布到线上的时候,发现有的时候数据是查询不到,数量为0,因此,就上网查询是不是CURDATE()+1不规范,发现mysql官网也是不承认时间直接相加减的,虽然会将当前时间转换为20160802,这时候就是比较这一串字符,mysql官网是不承认用这种方式比较时间大小的,因此:
正确的sql语句
eg:SELECT COUNT(*) FROM USER WHERE registerDate >= CURDATE() AND registerDate < DATE_SUB(CURDATE(),INTERVAL -1 DAY);
此时,就用到了DATE_SUB()这个函数,用法举例:
今天是2016年08月01日。
date_sub('2016-08-01',interval 1 day) 表示 2016-07-31
date_sub('2016-08-01',interval 0 day) 表示 2016-08-01
date_sub('2016-08-01',interval -1 day) 表示 2016-08-02
date_sub(curdate(),interval 1 day) 表示 2016-07-31
date_sub(curdate(),interval -1 day) 2016-08-02
date_sub(curdate(),interval 1 month) 表示 2016-07-01
date_sub(curdate(),interval -1 month) 表示 2016-09-01
date_sub(curdate(),interval 1 year) 表示 2015-08-01
date_sub(curdate(),interval -1 year) 表示 2017-08-01
备注:
SELECT NOW(),CURDATE(),CURTIME()
结果类似:
NOW()CURDATE()CURTIME()
2016-08-01 16:25:46
2016-08-01
16:25:46
来源:https://blog.csdn.net/qq_37284798/article/details/129039202


猜你喜欢
- 本文实例为大家分享了python+opencv实现堆叠图片的具体代码,供大家参考,具体内容如下# import cv2# import nu
- Golang 性能基准测试Golang 中的性能基准测试是使用标准库 testing 来实现的,编写性能测试代码是很容易的:创建性能测试文件
- 用途logging模块是Python的内置模块,主要用于输出运行日志,可以灵活配置输出日志的各项信息。基本使用方法logging.basic
- 一、读取配置文件我的目录如下,在config下有一个config.ini配置文件配置文件内容# 定义config分组[config]plat
- 数组排序排序是指将元素按有序顺序排列。有序序列是拥有与元素相对应的顺序的任何序列,例如数字或字母、升序或降序。NumPy ndarray 对
- 前言有时候我们做项目的时候往往会需要把数组里面一些重复的项去掉,但是原生JS有排序,有筛选等等,但是就是没有数组去重怎么办呢?这能怎么办,自
- 对dataframe绘图并保存:ax = df.plot() fig = ax.get_figure()fig.savefig('f
- 一、query传参编程式导航 使用router.push 或者 router.replace 的时候,改为对象形式新增query 必须传入一
- 目前搜索到的方法有:np.where(‘元素')还有就是pandas的方法:df.index(‘元素')但是第二个方法的问题
- 环境:Windows, Python2.7一维情况:<span style="font-size:14px;"&g
- 一个能对访问者进行编号、记录访问次数、IP、时间的统计制作实例我以ACCESS库为例子,其实用SQL SERVER库也只要改一下链接库的语句
- 问题描述python的pandas库中有一个十分便利的isnull()函数,它可以用来判断缺失值,我们通过几个例子学习它的使用方法。首先我们
- 背景index页面:首页品牌入口list页面:商品列表页面product页面:商品详情页面从index页面进入list的时候要刷新页面,从p
- 使用APPLY运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。 表值函数作为右输入,外部表表达式作为左输入。 通过对右输入求
- 本文实例讲述了GO语言映射(Map)用法。分享给大家供大家参考。具体如下:映射是一种内置的数据结构,用来保存键值对的无序集合。(1)映射的创
- 本文实例讲述了php+html5基于websocket实现聊天室的方法。分享给大家供大家参考。具体如下:html5的websocket 实现
- 目录原生 JS怎么发送一个 get 请求怎么发送一个 post 请求发送一个带有参数的 get 请求发送一个带有参数的 post 请求jQu
- 更新,最近在学unix环境编程,了解一下进程的创建过程,用最原始的方式实现了一个ssh命令的执行。#coding=utf8''
- 前言结构体是包含多个字段的集合类型,用于将数据组合为记录。这样可以将与同一实体相关联的数据利落地封装到一个轻量的类型定义中,然后通过对该结构
- 前言本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典、很有代表性。上面没有答案,我就整理了一下,从网上找了