我在使用DAYOFWEEK()函數在MySQL中返回對於星期日。但在我的國家,星期一開始於星期一,而不是星期日。是否有機會從MySQL獲得dayofweek格式,如:(1 - 星期一,2 - 星期二,...)?MySQL DAYOFWEEK() - 我的星期從星期一開始
36
A
回答
85
使用WEEKDAY()
而不是DAYOFWEEK()
,它從星期一開始。
如果您需要從索引1開始,請使用或WEEKDAY() + 1
。
7
如何減去一個和更改週日
IF(DAYOFWEEK() = 1, 7, DAYOFWEEK() - 1)
當然,你將不得不爲每個查詢做到這一點。
+1
1 =星期日是ODBC標準,所以它必須在查詢我想。 – 2009-07-29 20:56:03
1
可以寫一個UDF,並採取一個值來告訴它一週中的一天應該是1看起來像這樣(約翰在回答繪製,而不是使用CASE MOD):
DROP FUNCTION IF EXISTS `reporting`.`udfDayOfWeek`;
DELIMITER |
CREATE FUNCTION `reporting`.`udfDayOfWeek` (
_date DATETIME,
_firstDay TINYINT
) RETURNS tinyint(4)
FUNCTION_BLOCK: BEGIN
DECLARE _dayOfWeek, _offset TINYINT;
SET _offset = 8 - _firstDay;
SET _dayOfWeek = (DAYOFWEEK(_date) + _offset) MOD 7;
IF _dayOfWeek = 0 THEN
SET _dayOfWeek = 7;
END IF;
RETURN _dayOfWeek;
END FUNCTION_BLOCK
要調用這個函數來給你一週值的當天,當你每週星期二爲實例啓動時,你會打電話:
SELECT udfDayOfWeek(NOW(), 3);
尼斯件事有它的UDF是你還可以把它上結果集字段是這樣的:
SELECT
udfDayOfWeek(p.SignupDate, 3) AS SignupDayOfWeek,
p.FirstName,
p.LastName
FROM Profile p;
14
嘗試使用WEEKDAY()
函數。
返回日期的工作日索引(0 =星期一,1 =星期二,... 6 = 星期日)。
1
您可以輕鬆地使用此模式參數:
MySQL :: MySQL 5.5 Reference Manual :: 12.7 Date and Time Functions
如果省略了mode參數,使用default_week_format系統變量的值:
MySQL :: MySQL 5.1 Reference Manual :: 5.1.4 Server System Variables
相關問題
- 1. 星期一從星期一開始JavaScript
- 2. 從星期一開始,星期幾不是星期一?
- 3. 星期一從星期一開始如何簡化邏輯?
- 4. MdDatePicker在星期一開始的星期
- 5. 獲取本週的開始日期和結束日期(星期一從星期一開始,星期日結束)
- 6. 獲取星期數從一個星期的日期開始
- 7. 作爲星期一或星期日influxdb使星期開始
- 8. 星期五從星期開始的週數
- 9. 從星期一到星期天mysql周
- 10. 從星期一,星期和年份開始的PHP
- 11. Objective-c從星期一開始計算星期幾,而不是星期天
- 12. 星期五開始「星期五」,php
- 13. DAYOFWEEK,每個星期天
- 14. 星期六開始星期的星期數
- 15. C#3.0 - 如何從星期一開始按星期命名?
- 16. 查找當前星期的開始日期(星期一)
- 17. 創建周函數,而不是星期一開始的星期幾,星期一
- 18. 假設星期一從星期一開始提取PostgreSQL中的日期字段
- 19. 開始星期日的第一週的星期幾,星期六的星期的最後一天結束
- 20. 星期一開始的星期一/ Vanilla JS /沒有jQuery
- 21. 將星期數轉換爲從SSRS/SQL Server開始的星期
- 22. Dojo DateTextBox從星期一開始
- 23. Bootstrap Datetimepicker從星期一開始
- 24. SQL Server:星期一作爲星期的開始
- 25. 爲什麼ORDER BY DAYOFWEEK()的返回不是從星期天開始的?
- 26. MySQL week()星期六開始的函數
- 27. 顯示整個星期的開始日期爲星期六
- 28. php/mysql在星期二和星期二的一週的最後一天開始一週中的某一天
- 29. 獲取其中的幾個星期開始從第一個星期一PHP
- 30. 如何按星期分組日期字段,星期六開始星期幾?
我知道它可以用一些惡劣的條件來完成。我甚至嘗試模數方法,這在我看來是不工作的(因爲在MySQL中奇怪的Modulo實現)。到目前爲止,沒有任何工作。 – picca 2009-07-29 20:47:15
這是一個mysql錯誤。按照iso標準,週一開始。 http://en.wikipedia.org/wiki/ISO_week_date – woens 2014-06-08 22:31:49
這不是一個錯誤。 `DAYOFWEEK()`使用ODBC標準。 – rgtk 2015-08-31 18:01:28