У меня есть таблица с именем «tbl_TimeSheet» со столбцом WorkWeek и типом данных является nvarchar.
[tbl_WorkWeek]
1 | 47-2018
2 | 36-2018
3 | 1-2019
проблема в том, что я пытаюсь преобразовать первую цифру перед знаком "-" в месяц с именем имени и появляется сообщение об ошибке, говорящее "преобразование не удалось при преобразовании значения nvarchar '1-' втип данных int ".Я могу легко получить WorkYear, но не месяц.Я действительно не знаю, что делать с этим знаком "-".
Я действительно новичок в области баз данных и SQL.Любая помощь будет оценена.Спасибо!
Current Code:
SELECT WorkWeek,
RIGHT(WorkWeek, 4) AS [WorkYear],
DATENAME(month, DATEADD(week, LEFT(WorkWeek, 2) - 1, DATEADD(wk,
DATEDIFF(wk, - 1, DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)), 0))) AS
[WorkMonth]
FROM tbl_WorkWeek
Желаемый вывод:
[WorkWeek] | [WorkMonth] | [WorkYear]
---------------------------------------
1 | 47-2018 | November | 2018
2 | 1-2019 | January | 2019
3 | 36-2018 | September | 2018