2014-11-14 2 views
0

Моя задача - создать функцию, которая принимает целое число, которое представляет формат даты найма Менеджера и отображает название отдела, имя менеджера и дату найма в этом формате.integer представляет формат даты

я попробовал это, но это также не

alter function FormatOfManagerHireDate(@hireDate int) 
returns @t table(DeptName nvarchar(50),ManagerName nvarchar(50),HiringDate nvarchar(50)) 
as 
begin 
    set @hireDate=FORMAT(SYSDATETIME(), 'MM/dd/yy'); 
    insert into @t 
    select Department.Dept_Name,Instructor.Ins_Name,Department.Manager_hiredate 
    from Department inner join Instructor on Instructor.Ins_Id=Department.Dept_Manager 
    where Department.Manager_hiredate [email protected] 
return 
end 

Ошибка:

Msg 206, Level 16, State 2, процедура FormatOfManagerHireDate, линия 7 Операнд типа столкновение: дата несовместим с int

+0

Как это происходит? Если есть ошибка, отправьте ее. Также отправьте пример данных и ожидаемых результатов. – paqogomez

+0

Msg 206, Level 16, State 2, Procedure FormatOfManagerHireDate, Строка 7 Столкновение типа операнда: дата несовместима с int –

+0

Как вы ожидаете перехода от целого к определенному формату даты? Является ли integer/dateformat сохраненным в таблице в вашей базе данных? – JNevill

ответ

0

Я неправильно понял вашу проблему, но хотя бы мой ответ помог вам найти ваш ответ. Итак, это фактическое решение для вашей задачи (взято из комментария ниже):

alter function FormatOfManagerHireDate(@hireDateFormat int) 
returns @t table(DeptName nvarchar(50), ManagerName nvarchar(50), HiringDate nvarchar(50)) as 
begin 
    insert into @t 
    select Department.Dept_Name, Instructor.Ins_Name, convert(nvarchar(50), Department.Manager_hiredate, @hireDateFormat) 
    from Department 
    inner join Instructor on Instructor.Ins_Id = Department.Dept_Manager 
return 
end 
+0

очень спасибо я получил его –

+0

изменить функцию FormatOfManagerHireDate (@hireDateFormat INT) возвращает @t таблицу (DEPTNAME NVARCHAR (50), ManagerName NVARCHAR (50), HiringDate NVARCHAR (50)) в начинают вставку в @t выберите Department.Dept_Name, Instructor.Ins_Name, конвертировать (NVARCHAR (50), Department.Manager_hiredate, @hireDateFormat) из отдела внутреннего соединения инструктора по Instructor.Ins_Id = Department.Dept_Manager возвращения конца –

+0

о, вы хотите только функцию, которая возвращала все менеджеры с параметром, который просто изменит отображаемый формат даты! Тогда это была более простая задача. :) – Andrew

Смежные вопросы