2013-06-03 91 views
2

我有一個表:如何查看日期是否在週末?

ID | Name | TDate 
1 | John | 1 May 2013, 8:67AM 
2 | Jack | 2 May 2013, 6:43AM 
3 | Adam | 3 May 2013, 9:53AM 
4 | Max | 4 May 2013, 2:13AM 
5 | Leny | 5 May 2013, 5:33AM 

我需要一個查詢將返回所有在那裏TDate是一個週末的項目。我將如何編寫這樣一個 查詢?

我至今

select 
    table.*, 
    EXTRACT (DAY FROM table.tdate) 
from table 

我做了一個使用EXTRACT選擇,只是看看我是否能得到正確的價值觀。但是,帶參數DAY的EXTRACT返回該月份的日期。如果我改用WEEKDAY,按照文檔here,然後我得到錯誤:

ERROR: timestamp units "weekday" not recognized 
SQL state: 22023 

極限1250

編輯 TDate有日期時間(時間戳)的數據類型。我就是這樣寫的,以方便閱讀。但不管類型如何,我都可以在需要時在類型之間輕鬆地進行投射。

我知道日期4月5日和5月5日是週末(因爲他們在週六和週日落下)。 firebird是否允許寫一個查詢的方法,如果它們在週末下落,它將返回日期。

+2

笏時間是這個'2013年5月1日,867AM'? TDATE的數據類型是什麼? –

+0

請在提問時始終表明您的努力。 – hims056

+0

什麼sql? MySQL的?甲骨文?或SQL Server? –

回答

6

試試這個:

SELECT ID, Name, TDate 
FROM your_table 
WHERE EXTRACT(WEEKDAY FROM TDate) IN (6,0) 

UPDATE

條件必須是(0,6)(0,1)

+0

這有幫助。我用火鳥等值線更新我的問題,但它仍然呻吟。 – coderama

+0

我不明白。你有沒有試過我的更新? –

+0

我試過你的更新。看到我上面的評論。 – coderama

相關問題