创建SQL函数的语法如下:
```sql
CREATE FUNCTION function_name (@parameter1 data_type, @parameter2 data_type, ...)
RETURNS return_data_type
AS
BEGIN
-- 函数体
DECLARE @variable1 data_type, @variable2 data_type, ...
SET @variable1 = @parameter1
SET @variable2 = @parameter2
...
-- 函数逻辑
-- 例如:SELECT @result = column1 + column2 FROM table_name WHERE condition
RETURN @result
END
```
示例
示例1:创建一个简单的字符串处理函数
```sql
CREATE FUNCTION fun_concat (@str1 varchar(50), @str2 varchar(50))
RETURNS varchar(100)
AS
BEGIN
DECLARE @result varchar(100)
SET @result = @str1 + ' ' + @str2
RETURN @result
END
```
示例2:创建一个计算两个数之和的函数
```sql
CREATE FUNCTION fun_add (@a int, @b int)
RETURNS int
AS
BEGIN
DECLARE @sum int
SET @sum = @a + @b
RETURN @sum
END
```
调用函数
调用已创建的函数时,需要在函数名前加上数据库名(如果函数属于特定数据库)和`dbo.`(如果函数属于`dbo`架构)。
```sql
SELECT dbo.fun_concat('Hello', 'World!')
```
注意事项
参数类型:
确保函数的参数类型与实际使用的数据类型相匹配。
返回类型:
指定函数返回的数据类型。
函数体:
在`BEGIN`和`END`之间编写函数逻辑。
权限:
创建函数需要具有相应的权限。
通过以上步骤,你可以在SQL中创建并使用自定义函数。