/*
date_add(date,interval expr type)和date_sub(date,interval expr type)执行日期运算。 date 是一个 datetime 或date值,用来指定起始时间。 expr 是一个表达式,用来指定从起始日期添加或减去的时间间隔值。 expr是一个字符串;对于负值的时间间隔,它可以以一个 ‘-’开头。 type 为关键词,它指示了表达式被解释的方式。
关键词interva及 type 分类符均不区分大小写。

日期操作,adddate就是date_add的同义词。如果adddate没有指定interval,则默认将天数作为interval(date_add不行)
*/
select date_add('2011-01-01',interval 30 day),date_add('2011-01-01',interval -1 day),adddate('2011-01-01',interval 30 day),adddate('2011-01-01',30),date_sub('2011-01-01',interval 1 day),subdate('2011-01-01',interval 1 day);

-- 时间操作
select addtime('2011-01-01 00:00:00','1:05:33'),addtime('00:00:00','1:05:33');

-- 获取当前日期,+0以后会去掉分割线,current_date和curdate是同义词
select curdate() ,curdate() +0,current_date();

-- 获取当前时间,curtime和current_time是同义词
select curtime(),current_time(),current_time()+0;

-- 查询当前的服务器时区和当前连接的时区,当前连接的时区初使值与全局变量time_zone相同,但可以用下面的语句重设:set time_zone = timezone;
select @@global.time_zone, @@session.time_zone;

-- 指定时区转换
select convert_tz('2004-01-01 12:00:00','+08:00','+00:00');

-- 获取当前日期和时间,current_timestamp和now是同义词
select current_timestamp(),now(),now()+0,current_timestamp()+0;

-- 提取日期或时间日期表达式expr中的日期部分。
select date('2003-12-31 01:02:03');

-- datediff(expr,expr) ,返回expr减去expr2之间的天数。expr和expr2 为日期或 date-and-time 表达式。计算中只用到这些值的日期部分。
select datediff('1997-12-31 23:59:59','1997-12-30'),datediff('1997-11-30 23:59:59','1997-12-31');

/*
mysql 允许任何expr 格式中的标点分隔符。表中所显示的是建议的 分隔符。若 date 参数是一个 date 值,而你的计算只会包括 year、month和day部分(即, 没有时间部分), 其结果是一个date 值。否则,结果将是一个 datetime值。

若位于另一端的表达式是一个日期或日期时间值 , 则interval expr type只允许在 + 操作符的两端。对于 –操作符, interval expr type 只允许在其右端,原因是从一个时间间隔中提取一个日期或日期时间值是毫无意义的。 (见下面的例子)。
*/
select '1997-12-31' + interval 1 second, '1997-12-31' - interval 1 second,'1997-12-31 23:59:59' + interval 1 second,interval 1 day + '1997-12-31','1998-01-01' - interval 1 second;

-- interval 还可以使用负值
select '1997-12-31' + interval -1 day;

-- 时间日期格式化函数 date_format(date,format)
select date_format(now(),'%y-%m-%d %h:%i:%s');

-- 常用获取日期中某部分的函数
select day(now()),dayname(now()),dayofweek(now()),dayofyear(now())

-- extract(type from date)
-- extract()函数所使用的时间间隔类型说明符同 date_add()或date_sub()的相同,但它从日期中提取其部分,而不是执行日期运算。
-- 获取月份,天数,不满10不会自己加0
select extract(year from '1999-07-02'),extract(month from '1999-07-02'); --将时间转换为时间戳select unix_timestamp('2009-10-26 10-06-07')如果参数为空,则处理为当前时间--将时间戳转换为时间select from_unixtime(1256540102)

MySql常用日期函数(转载)的更多相关文章

  1. [转]MySQL常用Json函数和MySQL常用字符串函数

    MySQL常用Json函数:https://www.cnblogs.com/waterystone/p/5626098.html MySQL常用字符串函数:https://www.cnblogs.co ...

  2. MySQL:日期函数、时间函数总结(MySQL 5.X)

    http://www.cnblogs.com/she27/archive/2009/01/16/1377089.html 原文:http://www.51sdj.com/phpcms/picture/ ...

  3. 【转】MySQL:日期函数、时间函数总结(MySQL 5.X)

    转自:http://www.cnblogs.com/she27/articles/1377089.html 一.MySQL 获得当前日期时间 函数1.1 获得当前日期+时间(date + time)函 ...

  4. MySQL中日期函数的使用

    1. MySQL中日期函数的使用 1.1. 转DATETIME类型为Date类型 将add_time ::56转化为date类型 select * from product where Date(ad ...

  5. MySQL之MySQL常用的函数方法

    MySQL常用函数 本篇主要总结了一些在使用MySQL数据库中常用的函数,本篇大部分都是以实例作为讲解,如果有什么建议或者意见欢迎前来打扰. limit Select * from table ord ...

  6. MYSQL常用命令集合(转载)

    文章出处:http://www.cnblogs.com/q1ng/p/4474501.html 1.导出整个数据库mysqldump -u 用户名 -p --default-character-set ...

  7. 【MySQL】MySQL之MySQL常用的函数方法

    MySQL常用函数 本篇主要总结了一些在使用MySQL数据库中常用的函数,本篇大部分都是以实例作为讲解,如果有什么建议或者意见欢迎前来打扰. limit Select * from table ord ...

  8. mysql常用单行函数

    一.大小写控制函数 LOWER(str)    将str的值全部置为小写字母 select LOWER('ABC'); --结果: LOWER('ABC') abc UPPER(str)    将st ...

  9. MySQL:日期函数、时间函数总结

    MySQL 获得当前日期时间 函数 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | n ...

随机推荐

  1. Java基础学习(一)

    常见的dos命令 盘符: 进入指定的盘符下. dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录    注意:rd不能删除非空的文件夹,而且只能用于删除文件夹. cd ...

  2. jquery placeholder

    /* * @author ambar * html5 placeholder pollfill * - 使用绝对定位内嵌层 * - 也适用于密码域 * 目标浏览器: IE 6~9, FF 3.5 */ ...

  3. 【leetcode】Factorial Trailing Zeroes

    题目描述: Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be ...

  4. SQL 2012 Group By Rollup, Grouping

    GO alter proc [zsp_BranchsData] as begin /* CREATE TABLE [原始机构数据] ( [序号] [varchar](50) NULL, [一级分行号] ...

  5. Devexpress使用经验1

    1. 使用RibbonForm时,修改左上角图标:添加ApplicationMenu1,在属性中找Ribbon->ApplicationIcon,设置图标 2. 隐藏DevExpress Xtr ...

  6. Jquery利用Iframe实现跨子域

    cross_sub.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  7. TDatabase TQuery TDataSource TDBGrid 设定方法

    TDatabase TQuery TDataSource TDBGrid object Database1: TDatabase AliasName = 'sfis' DatabaseName = ' ...

  8. Java 根据两个经纬度坐标计算距离

    public class Distance{ private static final double EARTH_RADIUS = 6378137;    private static double  ...

  9. SASS+COMPASS 自适应 学习笔记

    来源 http://snugug.github.io/RWD-with-Sass-Compass/#/ 1 安装 COMPASS 扩展 安装 方式 gem 'extension', '~>X.Y ...

  10. Java实现验证码制作之一Kaptcha验证码

    Kaptcha验证码 是google提供的验证码插件,使用起来相对简单,设置的干扰线以及字体扭曲不易让其他人读取破解. 这里我们需要 导入一个 kaptcha-2.3.jar  下载地址:http:/ ...