使用表达式中DAYNAME(CURDATE())返回的名称

时间:2015-01-02 14:55:13

标签: mysql

我有一个表格,每周的每一天都有一列。我想在表达式中使用dayname(curdate())来获取具有dayname(curdate())返回的名称的列的值。我的想法是这样使用它:

CASE WHEN table.LOWER(DAYNAME(CURDATE())) = <value> THEN ...

这不起作用。我想知道正确的方法。

表格设置如下:

CREATE TABLE T (
    client_id INT PRIMARY KEY AUTO_INCREMENT,
    monday INT,
    tuesday INT,
    wednesday INT,
    thursday INT,
    friday INT,
    saturday INT,
    sunday INT
);

一周中的日期将显示0或1,以显示客户在这些日子是否正常可用。

1 个答案:

答案 0 :(得分:3)

这样的事情:

<value> = 
    CASE DAYNAME(CURDATE())
        WHEN 'Monday' THEN table.monday
        WHEN 'Tuesday' THEN table.tuesday
        WHEN 'Wednesday' THEN table.wednesday
        WHEN 'Thursday' THEN table.thursday
        WHEN 'Friday' THEN table.friday
        WHEN 'Saturday' THEN table.saturday
        WHEN 'Sunday' THEN 'table.sunday
    END