首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL DAYOFWEEK()反向?

MySQL DAYOFWEEK()反向?
EN

Stack Overflow用户
提问于 2016-05-19 20:41:51
回答 2查看 1.8K关注 0票数 1

我正在寻找一种在MySQL中将整数(0-6)转换为一周中的一天的方法,如下所示:

代码语言:javascript
复制
EXAMPLE_FUNCTION(3) = Wednesday.

DAYOFWEEK(date)函数接受一个日期,并给出一个数字0-6,它对应于一周中的一天(0 =周日,6=星期六),所以我想找的是相反的情况。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-19 21:00:09

代码语言:javascript
复制
DROP FUNCTION IF EXISTS DAYNUMBER;
CREATE FUNCTION DAYNUMBER(s INT) RETURNS VARCHAR(10)
RETURN elt(s+1, 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');

测试:

代码语言:javascript
复制
SELECT DAYNUMBER(1)

输出“星期一”。

票数 5
EN

Stack Overflow用户

发布于 2016-05-19 21:12:47

DAYOFWEEK函数在这里应该会有所帮助:dayname

唯一的缺点是它期望一个日期作为输入,而不是一个天数。但这种情况应该很容易纠正。从一个随意的日期开始,你知道它是在周日(就像2016-01-03)。然后ADDDATE你的日子号到它。现在,您有一个日期与您的天数相同的日期,因此您可以通过DAYOFWEEK函数运行该日期。

代码语言:javascript
复制
DAYNAME(ADDDATE("2016-01-03", :day))

您可以通过运行以下示例来查看:

代码语言:javascript
复制
SELECT DAYNAME(ADDDATE("2016-01-03", "3")) # Wednesday
SELECT DAYNAME(ADDDATE("2016-01-03", "0")) # Sunday
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37333648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档