MySQL中data_sub()函數(shù)定義和用法
MySQL DATE_SUB() 函數(shù)
定義和用法
DATE_SUB() 函數(shù)從日期減去指定的時間間隔。
語法
DATE_SUB (date,INTERVAL expr type)
date 參數(shù)是合法的日期表達(dá)式。expr 參數(shù)是您希望添加的時間間隔,或者屬性名稱。
type 參數(shù)可以是下列值:
| Type 值 |
|---|
| MICROSECOND 微秒,表示時間的最小單位,1秒等于1000000微秒。 |
| SECOND 秒,表示時間中的秒數(shù)。 |
| MINUTE 分鐘,表示時間中的分鐘數(shù)。 |
| HOUR 小時,表示時間中的小時數(shù)。 |
| DAY 天,表示時間中的天數(shù)。 |
| WEEK 周,表示時間中的周數(shù)。 |
| MONTH 月,表示時間中的月數(shù)。 |
| QUARTER 季度,表示時間中的季度數(shù)(一個季度等于3個月)。 |
| YEAR 年,表示時間中的年數(shù)。 |
| SECOND_MICROSECOND 秒和微秒。 |
| MINUTE_MICROSECOND 分鐘和微秒。 |
| MINUTE_SECOND 分鐘和秒。 |
| HOUR_MICROSECOND 小時和微秒。 |
| HOUR_SECOND 小時和秒。 |
| HOUR_MINUTE 小時和分鐘。 |
| DAY_MICROSECOND 天和微秒。 |
| DAY_SECOND 天和秒。 |
| DAY_MINUTE 天和分鐘。 |
| DAY_HOUR 天和小時。 |
| YEAR_MONTH 年和月。 |
我們使用下面的 SELECT 語句:
SELECT OrderId, data_sub(OrderDate,INTERVAL 2 DAY) AS OrderPayDate FROM Orders
整個SQL查詢的目的是選擇"Orders"表中的"OrderId"列、以及通過在"OrderDate"列中減去2天得到的新日期,新日期被命名為"OrderPayDate"。
select author_id,answer_date, row_number() over (partition by author_id order by answer_date) as rn, date_sub(answer_date,interval (row_number() over (partition by author_id order by answer_date)) day) as dt2 from answer_tb group by answer_date, author_id
使用了窗口函數(shù) row_number() 來為每個 author_id 分區(qū)內(nèi)的記錄計算行號,
使用 date_sub() 函數(shù),從 answer_date 減去相應(yīng)的天數(shù),這個天數(shù)是由上面計算的行號決定,也就是減去行號,從而來生成一個新的日期。最終的結(jié)果被命名為 dt2。
到此這篇關(guān)于MySQL中data_sub()函數(shù)的文章就介紹到這了,更多相關(guān)MySQL data_sub()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql select in 按id排序?qū)崿F(xiàn)方法
有時候我們在后臺選擇了一系列的id,我們想安裝填寫id的順序進(jìn)行排序,那么就需要下面的order by方法,測試通過2013-03-03
MySQL強(qiáng)制索引中USE/FORCE INDEX用法與避坑
本文主要介紹了MySQL強(qiáng)制索引中USE/FORCE INDEX用法與避坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2026-03-03

