mysql week从星期一开始_MySQL DAYOFWEEK() -我的星期从星期一开始。

1

Could write a udf and take a value to tell it which day of the week should be 1 would look like this (drawing on answer from John to use MOD instead of CASE):

可以写一个udf然后取一个值告诉它一周的哪一天应该是1会是这样的(根据John的回答用MOD代替CASE):

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

To call this function to give you the current day of week value when your week starts on a Tuesday for instance, you'd call:

要调用这个函数来给出当前的周值,例如,当你的周值从周二开始时,你可以调用:

SELECT udfDayOfWeek(NOW(), 3);

Nice thing about having it as a udf is you could also call it on a result set field like this:

udf作为udf的好处是你也可以在结果集字段上调用它:

SELECT

udfDayOfWeek(p.SignupDate, 3) AS SignupDayOfWeek,

p.FirstName,

p.LastName

FROM Profile p;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值