DATE_ADD是時間計算函數(shù)。DATE_ADD(TIME,
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)長泰,10年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
INTERVAL
)
NOW()函數(shù)返回的是SQL命令執(zhí)行的復(fù)當(dāng)前時間;制
INTERVAL
-1
DAY
的意思就是向前1天(
時間
-
1天)
等同于
INTEVAL
-24
HOUR
如果你想向后一天,就可以寫zdINTERVAL
1
DAY;或者
INTERVAL
24
HOUR
都是可以的
EXTRACT(type FROM date)從date中返回“type”的值。
MONTH(date) 返回date的月份,范圍1到12。
MINUTE(date) 返回date的分鐘,范圍是0到59。
返回月份匹配的結(jié)果集
SELECT *
FROM tableA
WHERE EXTRACT(MONTH FROM NOW( )) =
EXTRACT(MONTH FROM logtime)
SELECT *
FROM tableA
WHERE MONTH(NOW( )) =
MONTH(logtime)
返回分鐘匹配的結(jié)果集
SELECT *
FROM tableA
WHERE EXTRACT(MINUTE FROM NOW( )) =
EXTRACT(MINUTE FROM logtime)
SELECT *
FROM tableA
WHERE MINUTE(NOW( )) =
MINUTE(logtime)
你可以用年和月一起比較啊,去年,前年都不成問題,你原來問題沒有說清楚前提和背景。
想查x個月以前的信息
if當(dāng)前月=x
SELECT *
FROM tableA
WHERE MONTH(logtime) =(12-x+MONTH(NOW( ))) AND YEAR(logtime)YEAR(NOW())
else
SELECT *
FROM tableA
WHERE MONTH(logtime) =(MONTH(NOW( )-x) AND YEAR(logtime)=YEAR(NOW())
在date的分鐘上加上x分鐘: DATE_ADD(date,INTERVAL x MINUTE);
MYSQL中也有DATEDIFF函數(shù)
DATEDIFF(expr,expr2)
DATEDIFF() 返回起始時間 expr和結(jié)束時間expr2之間的天數(shù)。Expr和expr2 為日期或 date-and-time 表達(dá)式。計算中只用到這些值的日期部分
很明顯和MSSQL里的datefiff形同神異,并沒有過多的參數(shù),只能比較天的差別。
所以在MySQL要加上自己的處理才行。
UPDATE
`表名`
SET
`參加工作`
=
(SELECT
DATE_ADD(Birthday,
INTERVAL
`WorkYear`
YEAR));
會把所有的
`參加工作時間`
列修改為
Birthday
+
WorkYear
DATE_ADD函數(shù)使用說明: DATE_ADD(date,
INTERVAL
expr
type);
第一個參數(shù)date,可以是date類型或者datetime類型;
第二個參數(shù)INTERVAL
expr
type;INTERVAL
是指明相加的間隔,
expr是表達(dá)式,間隔的值,可以為列名,如
`WorkYear`;type是指定那部分相加,如
YEAR,只相加YEAR部分,其它不變,可以為其它類型如:DAY_HOUR,MINUTE_SECOND
。
取得當(dāng)前時間用 now() 就行。
在數(shù)據(jù)庫中格式化時間 用DATE_FORMA T(date, format) .
根據(jù)格式串format 格式化日期或日期和時間值date,返回結(jié)果串。
可用DATE_FORMAT( ) 來格式化DATE 或DATETIME 值,以便得到所希望的格式。根據(jù)format字符串格式化date值:
%S, %s 兩位數(shù)字形式的秒( 00,01, . . ., 59)
%i 兩位數(shù)字形式的分( 00,01, . . ., 59)
%H 兩位數(shù)字形式的小時,24 小時(00,01, . . ., 23)
%h, %I 兩位數(shù)字形式的小時,12 小時(01,02, . . ., 12)
%k 數(shù)字形式的小時,24 小時(0,1, . . ., 23)
%l 數(shù)字形式的小時,12 小時(1, 2, . . ., 12)
%T 24 小時的時間形式(h h : m m : s s)
%r 12 小時的時間形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM 或P M
%W 一周中每一天的名稱( S u n d a y, Monday, . . ., Saturday)
%a 一周中每一天名稱的縮寫( Sun, Mon, . . ., Sat)
%d 兩位數(shù)字表示月中的天數(shù)( 00, 01, . . ., 31)
%e 數(shù)字形式表示月中的天數(shù)( 1, 2, . . ., 31)
%D 英文后綴表示月中的天數(shù)( 1st, 2nd, 3rd, . . .)
%w 以數(shù)字形式表示周中的天數(shù)( 0 = S u n d a y, 1=Monday, . . ., 6=Saturday)
%j 以三位數(shù)字表示年中的天數(shù)( 001, 002, . . ., 366)
% U 周(0, 1, 52),其中Sunday 為周中的第一天
%u 周(0, 1, 52),其中Monday 為周中的第一天
%M 月名(J a n u a r y, February, . . ., December)
%b 縮寫的月名( J a n u a r y, February, . . ., December)
%m 兩位數(shù)字表示的月份( 01, 02, . . ., 12)
%c 數(shù)字表示的月份( 1, 2, . . ., 12)
%Y 四位數(shù)字表示的年份
%y 兩位數(shù)字表示的年份
%% 直接值“%”
select date_format(日期字段,’%Y-%m-%d’) as ‘日期’ from test