Sql 获取两个日期之间每周五的数据

Sql 获取两个日期之间每周五的数据,sql,sql-server,database,Sql,Sql Server,Database,我有一个SQL Server数据库,我想从两个给定日期之间的VL_DR列中获取数据,其中的日期是星期五 "SELECT VL_DR FROM table_VL WHERE date>='" + date_start + "' AND date<='" + date_end + "' AND DATENAME(dw, date)='Friday'" “从表中选择

我有一个SQL Server数据库,我想从两个给定日期之间的VL_DR列中获取数据,其中的日期是星期五

"SELECT VL_DR FROM table_VL WHERE date>='" + date_start
                + "' AND date<='" + date_end
                + "' AND DATENAME(dw, date)='Friday'"
“从表中选择VL,其中日期>=”+日期开始

+“'和date假设MySQL。
DAYNAME
应该可以工作

"SELECT VL_DR FROM table_VL WHERE date>='" + date_start
            + "' AND date<='" + date_end
            + "' AND DAYNAME(date)='Friday'"
如果其SQL Server

试一试

从表中选择VL\U DR,其中([date]介于日期开始和日期结束之间)和更低(DATENAME(dw,[date])='friday'

如果是MySQL

试一试


从表VL中选择VL\u DR,其中([date]介于date\u start和date\u end之间)和DAYNAME([date])='Friday'

此代码将根据我拥有的共享代码数据库中的数据工作。这是针对MS-SQL的

SELECT
    CloseDate, DatePart(WEEKDAY,CloseDate) AS DAY_OF_WEEK_No , SharePrice 
FROM
    SharePrice 
WHERE
    CloseDate BETWEEN '01 October 2014' AND '31 October 2014'
AND
    DATEPART(WEEKDAY,CloseDate) = 6 -- 1=Sunday; 7=Saturday
AND
    ShareCode = 'AGL'

表VL看起来像什么,结构和样本数据表VL有一列VL DR,一列date和其他列在这里不可用。在VL DR中,date列中有数字和datetime。它在SQL server中(我编辑了我的帖子),但对于您的请求,它仍然是一个空列表,而它不应该。您知道为什么吗?@Lukasc将
DATENAME(dw,[date])='Friday'
更改为
LOWER(DATENAME(dw,[date]))='friday'
如果您确定该日期范围内有星期五的数据,则可能是您的服务器区分大小写。我已检查了该日期范围内有星期五的数据,但它仍然不能与lower函数一起工作。@Lukasc如果您运行此功能,您是否看到了预期的数据?
选择VL_DR,[date],lower(DATENAME(dw,[日期])从表_VL
当我运行上一个请求时,我看到这一天不是用英语的,所以星期五用正确的语言就可以了!非常感谢!
SELECT
    CloseDate, DatePart(WEEKDAY,CloseDate) AS DAY_OF_WEEK_No , SharePrice 
FROM
    SharePrice 
WHERE
    CloseDate BETWEEN '01 October 2014' AND '31 October 2014'
AND
    DATEPART(WEEKDAY,CloseDate) = 6 -- 1=Sunday; 7=Saturday
AND
    ShareCode = 'AGL'