MYSQL计算两个字段日期差

一,TIMESTAMPDIFF

语法:

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。

说明:

返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:

  1. FRAC_SECOND。表示间隔是毫秒
  2. SECOND。秒
  3. MINUTE。分钟
  4. HOUR。小时
  5. DAY。天
  6. WEEK。星期
  7. MONTH。月
  8. QUARTER。季度
  9. YEAR。年

二、str_to_date

MySQL内置函数,在mysql里面利用str_to_date()把字符串转换为日期。

示例:分隔符一致,年月日要一致

select str_to_date(‘2008-4-2 15:3:28‘,‘%Y-%m-%d %H:%i:%s‘);

select str_to_date(‘2008-08-09 08:9:30‘, ‘%Y-%m-%d %h:%i:%s‘);

例 :以下计算两个字段的时间差 (年) 注:第二个时间字段时间不用带时间格式

SELECT user_id AS 姓名 ,
(CASE WHEN sex=0 THEN ‘女‘ ELSE ‘男‘ END) AS 性别,
mobileno AS 电话,
startdate AS 入职日期,
enddate AS 到职日期,
(CASE WHEN enddate>0 THEN
TIMESTAMPDIFF(YEAR,STR_TO_DATE(startdate,‘%Y-%m-%d %Y‘),enddate)
ELSE
TIMESTAMPDIFF(YEAR,STR_TO_DATE(startdate,‘%Y-%m-%d %Y‘),LOCALTIME()) END )AS 工龄,
curstar AS 星级,
curshopname AS 门店,
strength AS 优势 ,
weakness AS 劣势,
improve AS 进步点 ,
memo AS 备注,
(CASE WHEN enddate>0 THEN ‘离职‘ ELSE ‘在职‘ END ) AS 状态

FROM ft_sales

时间: 2024-10-11 12:41:00

MYSQL计算两个字段日期差的相关文章

MySql计算两个日期的时间差函数

MySql计算两个日期时间的差函数: 第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND.SECOND. MINUTE. HOUR. DAY. WEEK. MONTH. QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下: SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13'); 返回结果是104,这里比较的是两个时间的天数差

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现. 函数 TimeStampDiff() 是MySQL本身提供的可以计算两个时间间隔的函数,语法为: TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之

php 计算两个时间的差

<?php $now = time(); $old = strtotime("2014-6-25 10:10:10"); $day = floor(($now-$old)/(60*60*24)); $hour = floor(($now-$old)/(60*24)); $minute = floor(($now-$old)/(60)); $second = $now-$old; echo $minute; ?> 要计算两个时间的差需要把两个时间都转换(strtotime)为

sql 计算两时间或日期 的相差的 年、 月、 日、时、分、秒,年、月、日分别的提取

--年.月.日.时.分.秒 datediff(yy,date1,date2) datediff(m,date1,date2) datediff(d,date1,date2) datediff(hh,date1,date2) datediff(n,date1,date2) datediff(s,date1,date2) datediff(ms,date1,date2) --YEAR('2008-11-2 00:00:00')  --年--MONTH('2008-11-2 00:00:00')  -

js 计算两个时间的差

比如得到两个时间的字符串 2013-01-21 11:10:49   2013-01-21 11:14:43,要用后面的时间减去前面的时间 直接上代码 var begen = new Date(value[0]["createtime"]) var end = new Date(value[i]["createtime"]) var cha = end.getTime()-begen.getTime(); console.log(cha); console.log(

oracle计算两个时间的差值(XX天XX时XX分XX秒)

在工作中需要计算两个时间的差值,结束时间 - 开始时间,又不想在js里写function,也不想在java里去计算,干脆就在数据库做了一个函数来计算两个时间的差值.格式为XX天XX时XX分XX秒: 上代码: CREATE OR REPLACE FUNCTION F_GET_DIFF_TIME(START_TIME IN DATE, END_TIME IN DATE) RETURN VARCHAR2 IS DIFF_TIME VARCHAR2(50); BEGIN SELECT TDAY || '

MySQL计算两个日期相差的天数、月数、年数

MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF(类型,开始时间,结束时间) 相差的秒数: SELECT TIMESTAMPDIFF(SECOND,'1993-03-23 00:00:00',DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S')) 相差的分钟数: SELECT TIMESTAMPDIFF(MINUTE,'

PHP计算两个时间的差(秒 分 时 天 月 年)

两个时间之间月份差实例代码: 代码如下 复制代码 $yourdate="2012-10-20"; $yourdate_unix=strtotime($yourdate); echo (date("Y",$yourdate_unix)-date("Y"))*12+(date("m",$yourdate_unix)-date("m")); 例子1 代码如下 复制代码 /* * 计算2个时间段的月份差 * @pa

mysql计算两个日期相差的天数。

DATEDIFF() 函数可以返回两个日期之间的天数. 如下: SELECT DATEDIFF('2015-06-29','2015-06-12') AS DiffDate 结果得17 SELECT DATEDIFF('2015-06-12','2015-06-29') AS DiffDate 结果得-17