Sql 整数表示日期的格式

Sql 整数表示日期的格式,sql,sql-server,Sql,Sql Server,我的任务是创建一个函数,该函数采用整数表示经理招聘日期的格式,并使用此格式显示部门名称、经理名称和招聘日期 我已经试过了,但也失败了 alter function FormatOfManagerHireDate(@hireDate int) returns @t table(DeptName nvarchar(50),ManagerName nvarchar(50),HiringDate nvarchar(50) ) as begin set @hireDate=FORMAT(SYSDA

我的任务是创建一个函数,该函数采用整数表示经理招聘日期的格式,并使用此格式显示部门名称、经理名称和招聘日期

我已经试过了,但也失败了

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 =@hireDate  
return
end 
错误是:


Msg 206,级别16,状态2,过程FormatOfManagerHireDate,第7行操作数类型冲突:日期与int不兼容


我误解了你的问题,但至少我的回答帮助你找到了答案。因此,这是您任务的实际解决方案(摘自下面的评论):


它是如何失败的?如果有错误,请发布。另请发布示例数据和预期结果。Msg 206,级别16,状态2,过程格式ManagerHiredate,第7行操作数类型冲突:日期与INT不兼容如何从整数转换为特定的日期格式?integer/dateformat是否存储在数据库的表中?如果您目前似乎正在将Manager_hiredate作为int存储在表中,那么只需复制用于存储它的逻辑即可。如果您首先将@hiredate参数设置为另一个值,为什么要将它传递给函数?传递参数有什么意义?alter函数FormatOfManagerHireDate(@hireDateFormat int)返回@t table(DeptName nvarchar(50)、ManagerName nvarchar(50)、HiringDate nvarchar(50))作为开始插入@t select Department.Dept_Name、讲师.Ins_Name、convert(nvarchar(50)、Department.Manager_hiredate、@hireDateFormat)从讲师.Ins\u Id=Department.Dept\u Manager return endo上的Department internal join讲师,您只需要一个函数,该函数使用一个参数返回所有经理,该参数只会更改显示的日期格式!那是一项相当容易的任务。:)我改变了答案,这才是真正的解决办法。或者,如果您愿意,您可以添加自己的答案。
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