2013-12-12 109 views
1

我正在使用Teradata并处理SQL语句。我有一个表的属性是“day_of_week”。周日是1,周一是2等。选择星期几是今天的星期几

我想只选择day_of_week与今天相同的行。例如,今天是星期四(第5天),所以我想选择day_of_week = 5。明天是周五,我会想选择其中天= 6

我知道如何计算对应到今天星期几:从sys_calendar.calendar SC选择sc.day_of_week其中sc.calendar_date = CURRENT_DATE

但是我不能在另一个select语句的where子句中使用这样的语句。

你会如何去解决我的问题?

回答

2

什么是你TD版本?自13.10开始,有一个day_of_week函数(在TD14中已更名为td_day_of_week):

WHERE day_of_week = td_day_of_week(current_date); 
+0

就是这样。非常感谢 ! – Myna

0

可以另一个查询的where子句中使用这样的表述,使用子查询:

where day_of_week = (select sc.day_of_week 
        from sys_calendar.calendar sc 
        where sc.calendar_date = current_date 
        ) 
+0

我试过这个语法,它也可以。谢谢:) – Myna