将日期转换为一天

时间:2021-02-15 03:42:54

标签: sql sql-server

我正在使用 SQL Server,有人可以告诉我如何编写查询以显示某人在一周中的哪一天被雇用。有人可以给我看一个管理员 Richard wiley 的例子吗?根据他周五被录用的信息。

CREATE TABLE STAFF (
    sID int PRIMARY KEY,
    FirstN varchar(50) NOT NULL,
    LastN varchar(50) NOT NULL,
    Title varchar(50) NOT NULL,
    DateHired date NOT NULL,
);

INSERT INTO STAFF VALUES (5, 'Richard', 'Wiley', 'Admin', '2020-02-12')

谢谢!

1 个答案:

答案 0 :(得分:0)

有多种方法可以得到它。

-- Using Datename function
SELECT DATENAME(WEEKDAY,DateHired) AS day_name from dbo.STAFF where sid = 5;
GO

-- Using Format function
SELECT FORMAT(DateHired,'dddd') AS day_name from dbo.STAFF where sid = 5;
GO

--Another approach is set first day as Monday for the session and get the value
SET DATEFIRST 1 -- Setting datefirst as monday
SELECT 
CASE DATEPART(dw,DateHired) 
WHEN 1 THEN 'Monday'
WHEN 2 THEN 'Tuesday'
WHEN 3 THEN 'Wednesday'
WHEN 4 THEN 'Thursday'
WHEN 5 THEN 'Friday'
WHEN 6 THEN 'Saturday'
WHEN 7 THEN 'Sunday' end AS day_name from dbo.STAFF where sid = 5;
GO
<头>
日期名称
周三