sqlserver创建函数后提示对象名无效

今天同事遇到了个问题记录下
创建语句如下


IF OBJECT_ID('GET_NUMBER2') IS NOT NULL
DROP FUNCTION GET_NUMBER2

use ZLN_ZFS_CRM
GO
create function get_number2(@s varchar(100)) 
returns varchar(100)
as
begin
  while patindex('%[^0-9]%',@s) > 0
  begin
    set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
  end
  return @s
end
go
--测试
PRINT GET_NUMBER('2012中国China1949bj')
GO


sqlserver写了个函数 主要是用于筛选出字段中的数字
如图函数已经创建成功了
在这里插入图片描述
同事使用这种方法调用函数
select * from get_number2(‘2012中国China1949bj’)
报错信息是
消息 208,级别 16,状态 3,第 1 行
对象名 ‘get_number2’ 无效。

因为这是一个标量函数并不是表值函数所以我们应该是这么调用的
select get_number2(‘2012中国China1949bj’)
但是报错
消息 195,级别 15,状态 10,第 1 行
‘get_number2’ 不是可以识别的 内置函数名称。

最后是要以数据库名+dbo+函数名开始调用
select ZLN_ZFS_CRM.dbo.get_number2(‘2012中国China1949bj’)

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值