sql-serverfunctionvarchar

VARCHAR' is not a recognized built-in function name


Here is my mssql function code.

 ALTER function [dbo].[UF_GetOrderProducts]
(
  @OrderId int
)
returns varchar(500)
as
begin

return
  (
  select CAST(VARCHAR(5),OP.ProductId)+'<br/>'
  from OrderProduct as OP

  where OP.OrderId = @OrderId
  for xml path(''), type
  ).value('.', 'varchar(500)')
end

It returns, VARCHAR' is not a recognized built-in function name.


Solution

  • CAST(VARCHAR(5),OP.ProductId)
    

    should be

    CAST(OP.ProductId as VARCHAR(5)) 
    

    See the MSDN docs.