最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

MySQL查詢不含周末的五天前的日期_MySQL

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 17:25:04
文檔

MySQL查詢不含周末的五天前的日期_MySQL

MySQL查詢不含周末的五天前的日期_MySQL:我需要查詢從現(xiàn)在算起五天前的日期。按照商業(yè)習(xí)慣,這五天應(yīng)該不包含星期六和星期天。 專家回答: 對(duì)于許多跟商業(yè)日期有關(guān)的情況,最好的解決方案是使用日歷表格。例如,使用辦公時(shí)間(2001年5月22日)查詢兩個(gè)日期之間的時(shí)間差。 我們知道在這個(gè)例子中,假日不
推薦度:
導(dǎo)讀MySQL查詢不含周末的五天前的日期_MySQL:我需要查詢從現(xiàn)在算起五天前的日期。按照商業(yè)習(xí)慣,這五天應(yīng)該不包含星期六和星期天。 專家回答: 對(duì)于許多跟商業(yè)日期有關(guān)的情況,最好的解決方案是使用日歷表格。例如,使用辦公時(shí)間(2001年5月22日)查詢兩個(gè)日期之間的時(shí)間差。 我們知道在這個(gè)例子中,假日不
我需要查詢從現(xiàn)在算起五天前的日期。按照商業(yè)習(xí)慣,這五天應(yīng)該不包含星期六和星期天。

專家回答:

對(duì)于許多跟商業(yè)日期有關(guān)的情況,最好的解決方案是使用日歷表格。例如,使用辦公時(shí)間(2001年5月22日)查詢兩個(gè)日期之間的時(shí)間差。

我們知道在這個(gè)例子中,假日不會(huì)計(jì)算在內(nèi)。很難明白為什么假日不被計(jì)算在內(nèi),但是周末卻會(huì)被計(jì)算在內(nèi)。但是既然假日不被計(jì)算在內(nèi),我們就可以應(yīng)用一個(gè)公式。要開(kāi)發(fā)這個(gè)公式,讓我們首先探討一下所有的可能性。

如果今天是星期一,那么,往回?cái)?shù),我們跳過(guò)星期天和星期六,星期五是一天前,星期四是兩天前,如此類推,那么“五天前”就是上個(gè)星期一。這里的“五天前”就意味著把周末排除出去,得出我們想要的日期,并不是真正字面意義上的五天前。我們可以從備忘錄上看到差別。

如果今天是星期二,那么,往回?cái)?shù),星期一是一天前,跳過(guò)星期天和星期六,星期五是兩天前,星期四是三天前,如此類推,那么“五天前”就是上個(gè)星期二。

這個(gè)模式——“五天前”就是上一個(gè)星期的同一天(星期X)——可重復(fù)到星期三、星期四和星期五。

到了星期六,這個(gè)模式就不可用了。在星期六,五天前是星期一。在星期天,因?yàn)槲覀儾挥?jì)算星期六,五天前也是星期一。

把我們的討論發(fā)現(xiàn)總結(jié)成如下數(shù)據(jù):

MySQL查詢不含周末的五天前的日期

要獲得“五天前”的日期,從今天減去的總天數(shù)(包括周末)顯示在右邊列中。

我們給一個(gè)星期里的每一天排上序號(hào),星期天(Sunday)=1,星期一(Monday)=2,如此類推,到星期六(Saturday)=7。把這些日子的序號(hào)排列在需要減去的天數(shù)前,我們會(huì)得到如下數(shù)據(jù):

if today is

weekday subtract

Monday

2 7

Tuesday

3 7
Wednesday 4 7

Thursday

5 7

Friday

6 7

Saturday

7 5

Sunday

1 6

公式如下:

subtract = 7 - 2*(weekday/7) + (weekday-2)/7

記住,這是要獲得“五天前”的日期而需要從今天減去的天數(shù)。在這個(gè)公式里,除法是整數(shù)除法(即下舍入)。請(qǐng)不要問(wèn)我這個(gè)公式是怎么發(fā)現(xiàn)的,反正是試差法的成果。

我們要怎么把這個(gè)公式應(yīng)用到SQL里呢?下面是一個(gè)運(yùn)用MySQL句法的例子:

以下為引用的內(nèi)容:

selectdistinct 
   cust.fname
  ,cust.lname
  ,cust.phone
 fromordersaso
inner
 joincustomersascust
  oncust.id=orders.cust_id
whereo.date_ordered=
   date_sub(current_date
       ,interval
   7-2*floor(dayofweek(current_date)/7)
    +floor((dayofweek(current_date)-2)/7)
          day)
 ando.date_shippedisnull

這個(gè)查詢可以獲得“五天前”下訂單而貨還沒(méi)有運(yùn)到的客戶的聯(lián)系方式。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MySQL查詢不含周末的五天前的日期_MySQL

MySQL查詢不含周末的五天前的日期_MySQL:我需要查詢從現(xiàn)在算起五天前的日期。按照商業(yè)習(xí)慣,這五天應(yīng)該不包含星期六和星期天。 專家回答: 對(duì)于許多跟商業(yè)日期有關(guān)的情況,最好的解決方案是使用日歷表格。例如,使用辦公時(shí)間(2001年5月22日)查詢兩個(gè)日期之間的時(shí)間差。 我們知道在這個(gè)例子中,假日不
推薦度:
標(biāo)簽: 查詢 時(shí)間 日期
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top