这是我在这里的第一个问题,我希望你们可以帮助我。
我尝试根据包含以下列的表格制作视图:DAY_0
,DAY_1
,DAY_2
,DAY_3
,DAY_4
, DAY_5
,DAY_6
。
问题是我只想根据实际日期比较列,看它是否返回值0
或1
。
我在考虑这样的事情,但没有成功:
WHERE 'DAY_'+weekday(curdate()) = 1
任何人都知道如何帮助它?
答案 0 :(得分:2)
使用功能
ELT(weekday(curdate())+1,DAY_0,DAY_1,..)
答案 1 :(得分:0)
您不能使用这样的变量列名,但您可以这样做:
WHERE
CASE WEEKDAY(CURDATE())
WHEN 0 THEN DAY_0
WHEN 1 THEN DAY_1
...
END CASE = 1
您可能还想查看数据库规范化。
答案 2 :(得分:0)
但你可以这样做:
SELECT
CASE
WHEN WEEKDAY(CURDATE()) = 0 THEN day_0
WHEN WEEKDAY(CURDATE()) = 1 THEN day_1
WHEN WEEKDAY(CURDATE()) = 2 THEN day_2
WHEN WEEKDAY(CURDATE()) = 3 THEN day_3
WHEN WEEKDAY(CURDATE()) = 4 THEN day_4
WHEN WEEKDAY(CURDATE()) = 5 THEN day_5
WHEN WEEKDAY(CURDATE()) = 6 THEN day_6
END AS theDay
FROM myTable;