"TRIM"不是公认的内置函数名称

Shi*_*ine 17 sql sql-server-2008

我创造了简单的功能

create function TRIM(@data varchar(20)) returns varchar(100)
as
begin
  declare @str varchar(20)
  set @str = rtrim(ltrim(@data))
  return @str
end
Run Code Online (Sandbox Code Playgroud)

我正在以下面的方式执行.

declare @s varchar(25)
set @s = '      Amru    '
select TRIM(@s)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

Msg 195, Level 15, State 10, Line 3
'TRIM' is not a recognized built-in function name.
Run Code Online (Sandbox Code Playgroud)

有人可以帮我找到问题吗?

小智 22

//use RTrim instead of Trim sql 2008
Run Code Online (Sandbox Code Playgroud)

RTRIM(的ColumnName)

像这样

select RTrim(a.ContactName) + ' ' + RTrim(a.City) as Name_City from customers as a
Run Code Online (Sandbox Code Playgroud)


Dav*_*haw 17

调用用户定义的函数时,需要使用Schema前缀.在你的情况下,这很可能是"dbo".

将您的select语句更改为:

declare @s varchar(25)
set @s = '      Amru    '
select dbo.TRIM(@s)
Run Code Online (Sandbox Code Playgroud)


小智 15

declare @s varchar(25)
set @s = '      Amru    '
select RTRIM(LTRIM(@s))  
Run Code Online (Sandbox Code Playgroud)

你可以使用这种方式没有架构:)