2013-12-12 110 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