创建了一个功能
CREATE FUNCTION Split_On_Upper_Case(@Temp VARCHAR(1000))
RETURNS VARCHAR(1000)
AS
BEGIN
DECLARE @KeepValues AS VARCHAR(50)
SET @KeepValues='%[^ ][A-Z]%'
WHILE PATINDEX(@KeepValues COLLATE Latin1_General_Bin,@Temp)>0
SET @Temp=STUFF(@Temp,PATINDEX(@KeepValues COLLATE Latin1_General_Bin,@Temp)+1,0,' ')
RETURN @Temp
END
当iam尝试执行此操作时SELECT Split_On_Upper_Case('SaiBharath')
它会出现错误“'Split_On_Upper_Case'不是公认的内置函数名称。”。有人可以解释一下
答案 0 :(得分:23)
在前缀中添加[dbo],然后执行相同的操作:
SELECT [dbo].[Split_On_Upper_Case] ('SaiBharath')
答案 1 :(得分:12)
要在sql中执行函数,应使用前缀dbo
。
SELECT [dbo].[Split_On_Upper_Case] ('SaiBharath')
答案 2 :(得分:8)
为了确保首先使用use
子句设置您创建函数的数据库,然后使用dbo
为函数调用添加前缀。
USE <DatabaseName>
SELECT dbo.Split_On_Upper_Case('camelCase')
另外,一个好的做法是prefixing each function or database object for that matter, with its schema name。