我正在使用 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')
谢谢!
答案 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
日期名称 |
---|
周三 |