2014-11-14 4 views
0

내 임무는 Manager 채용 날짜의 형식을 나타내는 정수를 가져와 부서 이름, 관리자 이름 및 채용 날짜를이 형식으로 표시하는 함수를 만드는 것입니다.정수는 날짜 형식을 나타냅니다.

내가 이것을 시도했지만 그것은 또한 오류가

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 

실패 :

메시지 206, 수준 16, 상태 2, 프로 시저 FormatOfManagerHireDate, 7 호선 피연산자 유형 충돌 : 날짜는 호환되지 않습니다 int로

+0

어떻게 실패합니까? 오류가 있으면 게시하십시오. 또한 예제 데이터와 예상 결과를 게시하십시오. – paqogomez

+0

Msg 206, 수준 16, 상태 2, 프로 시저 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

매우 감사 내가 반환 테이블을 @t이 기능 FormatOfManagerHireDate (@hireDateFormat의 int)를 변경 –

+0

있어 (DEPTNAME의 NVARCHAR (50), ManagerName의 NVARCHAR (50), HiringDate의 NVARCHAR (50)) 등은 삽입을 시작 Department.Dept_Name, Instructor.Ins_Name, convert (nvarchar (50), Department.Manager_hiredate, @hireDateFormat) Department Department에서 가져 오기 Instructor.Ins_Id = Department.Dept_Manager의 강사 return end –

+0

오, 표시된 날짜 형식을 변경하는 매개 변수가있는 모든 관리자 그 때 아주 쉬운 업무이었다. :) – Andrew