我有一个名为 tblemployees
的表,在该表中我想要输出在特定月份内未晋升的员工。
Create table tblEmployees
(
Id int Identity Primary key,
Name nvarchar(40),
PromotedMonth int
)
----------------------------
| Id | Name | PromotedMonth |
|----|------|---------------|
| 1 | Mark | 03 |
| 2 | Mary | 12 |
-----------------------------
我想要这样的输出:
----------------------------
| Id | Name | PromotedMonth |
|----|------|---------------|
| 1 | Mark | March |
| 2 | Mary | December |
-----------------------------
每次我使用 DatName
函数时,它总是以 [PromotedMonth]
形式返回一月
那么我该怎么做呢?
如何找出特定月份内哪位员工晋升?
最佳答案
您可以尝试使用DATENAME功能。
测试DDL
CREATE TABLE T(
ID INT,
NAME VARCHAR(10),
PromotedMonth INT
);
INSERT INTO T VALUES (1,'T',3);
INSERT INTO T VALUES (2,'T1',12);
查询
SELECT id,
name,
DATENAME(month, DATEADD(month, PromotedMonth -1 , CAST('1900-01-01' AS datetime))) AS 'PromotedMonth'
FROM T
结果
| id | name | PromotedMonth |
|----|------|---------------|
| 1 | T | March |
| 2 | T1 | December |
sqlfiddle:http://sqlfiddle.com/#!18/69b30/3
关于sql - 在 SQL Server 中查找在特定[月份]内未晋升的员工,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51396026/