Sql 获取两个日期之间每周五的数据
我有一个SQL Server数据库,我想从两个给定日期之间的VL_DR列中获取数据,其中的日期是星期五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'" “从表中选择
"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'