1. 程式人生 > >mysql中計算日期整數差

mysql中計算日期整數差

TIMESTAMPDIFF

語法:

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) : 返回日期或日期時間表達式datetime_expr1 和datetime_expr2the 之間的整數差

interval:間隔

FRAC_SECOND。表示間隔是毫秒
SECOND。秒
MINUTE。分鐘
HOUR。小時
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年

datetime_expr1 開始時間

datetime_expr2 結束時間

SELECT TIMESTAMPDIFF(DAY , NOW(),'
2018-06-22') day, NOW() day NOW() 1 2018-06-20 09:40:44

這裡剛開始覺得有點奇怪,now是20號,用22-20=2  應該是相差兩天,為什麼查出來是相差1天。

但是如果這樣查

SELECT TIMESTAMPDIFF(DAY , NOW(),'2018-06-22 10:00:00') day, NOW()
day    NOW()
2    2018-06-20 09:45:40

這樣就是相差兩天了!

有個相對應的函式 

TIMESTAMPADD

語法:

TIMESTAMPADD(interval,int_expr,datetime_expr) : 將整型表示式int_expr 新增到日期或日期時間表達式 datetime_expr中

interval :間隔

FRAC_SECOND。表示間隔是毫秒
SECOND。秒
MINUTE。分鐘
HOUR。小時
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年

int_expr 整型表示式

在月中,有些月有31天的 eg:

SELECT TIMESTAMPADD(MONTH , 2,'2018-05-31') DAY
DAY
2018-07-31

但是有些是30天,結果則是:

SELECT TIMESTAMPADD(MONTH , 1,'2018-05-31') DAY
DAY
2018-06-30

相關推薦

mysql計算日期整數

TIMESTAMPDIFF 語法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) : 返回日期或日期時間表達式datetime_expr1 和datetime_expr2the 之間的整數差 interval:間隔 FRAC_SECOND。

MySQL的交並

true 其中 sql aps where HP 我們 計數 char Mysql只提供了並集(union),沒有提供差集,和交集,但是我們可以用union來實現交和差,下面即是實現方式: 首先創建兩個表: ERROR 1064 (42000): mysql> cr

Oracle計算日期之間相差的年月

一、基本用法 20個月換算成1年8個月,select trunc(20/12) || '年' ||mod(20,12) || '個月' from dual  二、深入用法 要結合months_between函式,結果為1年11個月 select  trunc((months_between(to_date('

Mysql的date與datetime,以及如何向Mysql插入“日期+時間”資料

我們知道,java中有date和datetime,mysql中也有date和datetime,這裡我們來說說mysql中的date和datetime。 1 mysql中的date和datetime 1.1 DATETIME 型別可用於需要同時包

mysqlip和整數的轉換

http://cocos.iteye.com/blog/1078257 INET_ATON(expr)  給出一個作為字串的網路地址的點地址表示,返回一個代表該地址數值的整數。地址可以是4或8位元地址。 mysql> SELECT INET_ATON('209.207.224.40');     

Mysql日期函式

如果沒有引數呼叫,返回一個Unix時間戳記(從'1970-01-0100:00:00'GMT開始的秒數)。如果UNIX_TIMESTAMP()用一個date引數被呼叫,它返回從'1970-01-0100:00:00'GMT開始的秒數值。date可以是一個DATE字串、一個DATETIME字串、一個TIMES

Oracle計算兩個日期時間的

weight span num log 方法 bsp round code oracl --方法1 select floor((sysdate - to_date(‘2006-09-01 08:00:00‘, ‘yyyy-mm-dd hh24:m

java計算兩個日期的月數

   /**     * 獲取兩個日期相差的月數     * @param d2  較大的日期     * @param d1  較小的日期     * @return 如果d1>d2返回 月數差 否則返回0     */     public static int

mysql根據當前日期計算週一和週日,存在的問題

在資料統計分析的時候,有時候需要計算本週的一些資料情況,比如本週的訪問情況,已知條件是當前日期curdate(), 那麼如果需要計算本週的訪問情況的話,那麼就需要計算本週的週一的日期,本週的週日的日期,計算方法如下: select subdate(curdate(),da

java計算兩個日期之間的天數

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; class Test2 { public static String getDate(){  Si

oracle計算兩個日期之間的

最近幾天在工作中用到了一項計算時間的功能,計算兩個時間之間的天數差,順道總結一下oracle中的語句:兩個Date型別欄位:START_DATE,END_DATE,計算這兩個日期的時間差(分別以天,

【峰回路轉】Excel技巧百例 08.計算兩個日期

b2c font date trac con 進行 size 高速 http 在Excel中假設高速計算兩個日期之間的差?比如A日期為:2012/3/12 B日期為:2015/7/29 那麽這兩個日期之間差幾年,差幾個月。差多少天?我們使用DateDif 函數來處

mysql日期函數和日期的加減運算

一個數 hour %u rdate 時間值 範圍 ddd name 需要 mysql日期運算,日期函數 DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應於ODBC標準。 mysql> sel

mysql時間計算函數SQL DATE_SUB()用法

pos spa mys nth 方便 使用 很多 interval span 本文為博主原創,未經允許不得轉載: 在寫sql的時候,經常要在sql中傳值時間,對時間進行計算並過濾。之前都是將時間在後臺計算好,直接傳值給sql, 今天發現,有一個更方便的sql函數

Mysql 根據出生日期計算年齡

format birt div 轉換 to_days ref 社會 emp ear 最近因為業務要求需要根據出生日期計算年齡,在網上查了好多的方法,在這裏總結一下。 網上的計算方法好多都提到了格裏高利歷法,特意去查了下資料,普及點知識。   格裏高利歷是公歷的標準名稱,是一

jsp 兩個日期天數計算

days rip ntb ren MF test .get lse tar <script> function changeTimelyFlag(){ var date1 = GetXFormFieldValueById(‘fd_arrival

mysql幾個日期時間類型之間的區別和使用

info eight exist into -- 刷新 set style alt MySQL中有如下幾個時間類型:date、time、datetime、timestamp、year MySQL數據類型 含義 date

mysql 的基本用法,以及日期的轉換

作用 use 相同 允許 配置 arch out 顯示長度 張三豐 1、mysql int(10) int 類型長度4個字節,大約表示2^32數字,10代表的是顯示長度,一般和FILLZERO約束一起使用,如果沒有達到該長度,填充02-->000000002 mysq

python向mysql插入數字、字符串、日期總結

對象 cursor com print password tab cas test 處理 import pymysql# 連接數據庫conn = pymysql.connect( host="10.62.1.1", port=3306, user="roo

MYSQL如何計算兩個日期間隔天數

如何透過MYSQL自帶函式計算給定的兩個日期的間隔天數 有兩個途徑可獲得 1、利用TO_DAYS函式 select to_days(now()) - to_days('20120512') 2、利用DATEDIFF函式 select datediff(now(),'201205