MySQL DAYOFWEEK() 反过来了?
MySQL DAYOFWEEK() in reverse?
我正在 MySQL 中寻找一种将整数 (0-6) 转换为星期几的方法,例如:
EXAMPLE_FUNCTION(3) = Wednesday.
DAYOFWEEK(date)
函数接受一个日期并为您提供对应于星期几的数字 0-6(0 = 星期日,6 = 星期六),所以我正在寻找与此相反。
DROP FUNCTION IF EXISTS DAYNUMBER;
CREATE FUNCTION DAYNUMBER(s INT) RETURNS VARCHAR(10)
RETURN elt(s+1, 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
测试:
SELECT DAYNUMBER(1)
输出'Monday'.
DAYOFWEEK
函数在这里应该会有帮助:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayname
唯一的缺点是它需要一个日期作为输入,而不是天数。但这应该很容易补救。只需从您知道它属于星期日的任意日期开始(例如 2016-01-03)。然后 ADDDATE
你的天数就可以了。现在你有一个日期与你的天数在同一天,所以你可以 运行 通过 DAYOFWEEK
函数。
DAYNAME(ADDDATE("2016-01-03", :day))
通过 运行 以下示例亲自查看:
SELECT DAYNAME(ADDDATE("2016-01-03", "3")) # Wednesday
SELECT DAYNAME(ADDDATE("2016-01-03", "0")) # Sunday
我正在 MySQL 中寻找一种将整数 (0-6) 转换为星期几的方法,例如:
EXAMPLE_FUNCTION(3) = Wednesday.
DAYOFWEEK(date)
函数接受一个日期并为您提供对应于星期几的数字 0-6(0 = 星期日,6 = 星期六),所以我正在寻找与此相反。
DROP FUNCTION IF EXISTS DAYNUMBER;
CREATE FUNCTION DAYNUMBER(s INT) RETURNS VARCHAR(10)
RETURN elt(s+1, 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
测试:
SELECT DAYNUMBER(1)
输出'Monday'.
DAYOFWEEK
函数在这里应该会有帮助:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayname
唯一的缺点是它需要一个日期作为输入,而不是天数。但这应该很容易补救。只需从您知道它属于星期日的任意日期开始(例如 2016-01-03)。然后 ADDDATE
你的天数就可以了。现在你有一个日期与你的天数在同一天,所以你可以 运行 通过 DAYOFWEEK
函数。
DAYNAME(ADDDATE("2016-01-03", :day))
通过 运行 以下示例亲自查看:
SELECT DAYNAME(ADDDATE("2016-01-03", "3")) # Wednesday
SELECT DAYNAME(ADDDATE("2016-01-03", "0")) # Sunday