MySQL week 函式及引數mode詳解

2021-10-10 04:00:00 字數 1557 閱讀 7871

通常,一年的正常年份為365天,閏年為366天。一年又可以分為許多周,每週有7天。 所以一年,我們經常有365/7 = 52周,周範圍是從1到52。

要檢視給定日期屬於哪個週數,您可以使用week函式,語法如下所示:

week(date[,mode])
該函式返回date 對應的星期數。其中:

如果忽略mode引數,預設情況下week函式將使用 default_week_format 系統變數的值。

要獲取 default_week_format 變數的當前值,可以使用 show variables 語句如下:

mysql> show variables like 'default_week_format';

+---------------------+-------+

| variable_name       | value |

+---------------------+-------+

| default_week_format | 0     |

+---------------------+-------+

1 row in set, 1 warning (0.00 sec)

mode 引數的使用

預設情況下,default_week_format的預設值為0,下面的**說明了 mode 引數的工作過程:

模式一周的第一天

範圍第一周是怎麼計算的

0星期日

0-53

從本年的第乙個星期日開始,是第一周。前面的計算為第0周

1星期一

0-53

假如1月1日到第乙個周一的天數超過3天,則計算為本年的第一周。否則為第0周

2星期日

1-53

從本年的第乙個星期日開始,是第一周。前面的計算為上年度的第5x周

3星期一

1-53

假如1月1日到第乙個週日天數超過3天,則計算為本年的第一周。否則為上年度的第5x周

4星期日

0-53

假如1月1日到第乙個週日的天數超過3天,則計算為本年的第一周。否則為第0周

5星期一

0-53

從本年的第乙個星期一開始,是第一周。前面的計算為第0周。

6星期日

1-53

假如1月1日到第乙個週日的天數超過3天,則計算為本年的第一周。否則為上年度的第5x周

7星期一

1-53

從本年的第乙個星期一開始,是第一周。前面的計算為上年度的第5x周

舉例:

檢視當天屬於哪一周:

mysql> select week(now());

+-------------+

| week(now()) |

+-------------+

|          35 |

+-------------+

1 row in set (0.00 sec)

socket函式及引數

函式原型 int socket int domain,int type,int protocol domain 即協議域,又稱為協議族 family af inet ipv4 af inet6 ipv6 af local 或稱af unix unix域socket af route type soc...

8 函式及引數

一.函式 1.含義 包裹一部分 實現某乙個功能 達成某乙個目的 2.特點 可以反覆呼叫,提高 的復用性,提高開發效率,便於維護管理 3.函式的格式 定義函式 def 函式名 code 呼叫函式 函式名 4.函式的命名 命名規則與變數一樣 字母數字下劃線,首字元不能用數字 嚴格區分大小寫,且不能用關鍵...

Python 函式及引數

函式引數定義的順序必須是 必選引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數。使用遞迴函式需要注意防止棧溢位。在計算機中,函式呼叫是通過棧 stack 這種資料結構實現的,每當進入乙個函式呼叫,棧就會加一層棧幀,每當函式返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,遞迴呼叫的次數過多,...