Créé une fonction
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
Lorsque iam essaie d'exécuter cette opération SELECT Split_On_Upper_Case('SaiBharath')
, il génère une erreur "Le nom" Split On UpperCase "n'est pas un nom de fonction intégrée reconnu.". Quelqu'un peut-il expliquer
Ajoutez [dbo] dans le préfixe puis exécutez-le comme suit:
SELECT [dbo].[Split_On_Upper_Case] ('SaiBharath')
Pour exécuter une fonction dans sql, le préfixe dbo
devrait être utilisé.
SELECT [dbo].[Split_On_Upper_Case] ('SaiBharath')
Pour vous en assurer, commencez par définir la base de données sur laquelle vous avez créé votre fonction à l'aide de la clause use
, puis préfixez l'appel de votre fonction avec dbo
.
USE <DatabaseName>
SELECT dbo.Split_On_Upper_Case('camelCase')
Aussi, une bonne pratique est préfixant chaque fonction ou objet de base de données, avec son nom de schéma .