首页 > 解决方案 > 寻找一个基于变量“年”为我提供所有工作日(星期一,星期二...)的函数

问题描述

正如标题所说,我正在 SQL-Server 中寻找一个函数来检索所有工作日,基于设置为一年的变量。

我知道这种情况下应该有两个有用的函数,但我不知道如何正确使用它们,也不擅长用 SQL 编写函数:

SELECT DATENAME(dw, GETDATE())SELECT DATEPART(dw, GETDATE())

我期待这样的事情:

--------------------------
| DATA       | GIORNO    |
--------------------------
| 01/01/2020 | Wednesday |
--------------------------
| 02/01/2020 | Thursday  |
--------------------------

编辑:

Suraj Kumar 给了我一个建议,我被困在这里:

DECLARE @date date = getdate();

SELECT FORMAT(@date, 'd') AS DATA
SELECT DATENAME(WEEKDAY, @date) AS GIORNO

我现在需要做的是将 DATA 字段转换为意大利格式(日/月/年)并返回一个包含两个字段的表,就像我在此编辑之前解释的那样......

标签: sqlsql-serverdayofweekweek-number

解决方案


如果要在 SQL Server 中获取给定日期的星期名称,可以使用如下所示的函数之一。

DECLARE @date datetime = getdate();
SELECT FORMAT(@date, 'dddd') AS Result;

SELECT 
    FORMAT(@date, 'dddd') as Result

SELECT DATENAME(weekday, @date) AS Result

SELECT {fn DAYNAME(@date)} AS Result;

推荐阅读