2016-12-19 47 views
9

Utworzono funkcjąnie jest rozpoznawane wbudowaną nazwa funkcji

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 

Kiedy iam próbuje exexute ten SELECT Split_On_Upper_Case('SaiBharath') daje błąd „«Split_On_Upper_Case»nie jest rozpoznawane wbudowaną nazwa funkcji.”. Czy ktoś proszę wyjaśnić to

+1

@Mansoor - proszę? –

Odpowiedz

7

Dodaj [dbo] w prefiksu, a następnie wykonać tak samo:

SELECT [dbo].[Split_On_Upper_Case] ('SaiBharath') 
+6

Dobre odpowiedzi mają nie tylko kod, ale także pewne wyjaśnienie. – GuidoG

10

Aby uruchomić funkcję w sql, należy użyć prefiksu dbo.

SELECT [dbo].[Split_On_Upper_Case] ('SaiBharath')