MySql常用日期函数(转载)

/*
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)

时间: 2024-12-18 04:19:27

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

MySQL常用字符函数简介

<html> <body> <h1>MySQL常用字符函数简介</h1> <table>     <tr>         <td>CONCAT(S1,S2...Sn)</td>         <td>连接S1,S2...Sn为一个字符串</td>     </tr> </table> <p style="background-color:yel

C# 常用日期函数

我想知道取的时期是几月.几日,然后做一些统计,上网找了一些方法. --DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=currentTime.Day; 1.5 取

常用日期函数使用结合

static int MthDiff1(date d1, date d2){    int daysDiff = d1 - d2 - 1; if (daysDiff >= 0)        return (year(num2date(daysDiff)) - 1900)*12 + mthofyr(num2date(daysDiff));    else        return -1 * (year(num2date(-1 * daysDiff)) - 1900) * 12 + mthofy

MySql格式化日期函数

MySql格式化日期函数记录 1.DATE_FORMAT(date,format): 1 select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; 2 select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; 3 select DATE_F

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

原文:http://www.51sdj.com/phpcms/picture/2009/0711/picture_133.html 一.MySQL 获得当前日期时间 函数1.1 获得当前日期+时间(date + time)函数:now()mysql> select now(); +---------------------+| now() |+---------------------+| 2008-08-08 22:20:46 |+---------------------+ 除了 now()

mysql 时间日期函数类型和使用

-- mysql 时间日期函数类型和使用-- 1.DAY().MONTH().YEAR()--返回指定日期的天数.月数.年数:select day(CURDATE()) as '日' from dual; select month(CURDATE()) as '月' from dual; select year(CURDATE()) as '年' from dual; -- 2 .NOW().current_timestamp().localtime(),localtimestamp() 取的是

mysql常用的函数

1.IF(expr1,expr2,expr3)函数: 如果 expr1 是TRUE ,则 IF()的返回值为expr2; 否则返回值则为 expr3. IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定. 例: 2.IFNULL(expr1,expr2)函数: 如果expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2. IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境. 3.CONCAT(str1,str2,..

MySQL常用日期时间函数

日期和时间函数 可能的需求: 当前时间是多少.下个月的今天是星期几.统计截止到当前日期前 3 天的收入总和-- 上述需求就需要使用日期和时间函数来实现: MySQL服务器中的三种时区设置: ①系统时区---保存在系统变量system_time_zone ②服务器时区---保存在全局系统变量global.time_zone ③每个客户端连接的时区---保存在会话变量session.time_zone 注意: 客户端时区的设置会影响一些日期函数返回值的显示,例如:now().curtime().cu

MySQL常用类型转换函数总结

MySQL函数,常用类型转换函数总结 1.Concat函数. 连接字符串常用:concat函数.如sql查询条件的like查询, AND c.name like concat(#{param.name},'%') 将Int 转为varchar经常用 concat函数,比如concat(8,'0') 得到字符串 '80' 2.Cast函数:CONVERT函数. 用法:CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transc