我正在寻找一种在MySQL中将整数(0-6)转换为一周中的一天的方法,如下所示:
EXAMPLE_FUNCTION(3) = Wednesday.DAYOFWEEK(date)函数接受一个日期,并给出一个数字0-6,它对应于一周中的一天(0 =周日,6=星期六),所以我想找的是相反的情况。
发布于 2016-05-19 21:00:09
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)输出“星期一”。
发布于 2016-05-19 21:12:47
DAYOFWEEK函数在这里应该会有所帮助: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")) # Sundayhttps://stackoverflow.com/questions/37333648
复制相似问题