我如何看周日是否在周末?

cod*_*ama 2 sql firebird

我有一张桌子:

 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
Run Code Online (Sandbox Code Playgroud)

我需要一个返回所有TDate周末项目的查询.我该怎么写这样的查询?

我有多远

select 
  table.*,
  EXTRACT (DAY FROM table.tdate )
from table
Run Code Online (Sandbox Code Playgroud)

我使用EXTRACT做了一个选择,看看我是否能得到正确的值.但是,使用参数DAY的EXTRACT返回月份的日期.如果我改为使用WEEKDAY,根据这里的文档,那么我得到错误:

ERROR: timestamp units "weekday" not recognized
SQL state: 22023
Run Code Online (Sandbox Code Playgroud)

限制1250

EDIT TDate具有日期时间(时间戳)的数据类型.我只是为了方便阅读而写的.但无论何种类型,如果需要,我都可以轻松地在类型之间进行转换.

我知道约会4月5日和5月是周末(因为他们是周六和周日).firebird是否允许一种编写查询的方法,如果它们在周末出现,它们将返回日期.

Chr*_*ark 6

试试这个:

SELECT ID, Name, TDate
FROM your_table
WHERE EXTRACT(WEEKDAY FROM TDate) IN (6,0)
Run Code Online (Sandbox Code Playgroud)

UPDATE

条件必须(0,6)不是(0,1).