스칼라함수
* 결과값을 하나의 데이터 형태로 반환한다.
* 함수호출시 데이터베이스이름, 스키마이름을 같이 써주어야 한다.(데이터베이스이름.스키마명.함수명)
함수생성방법
create function 함수명
(
변수명
)
RETURNS 반환될자료의 자료형
as
begin
내용
RETURN(반활될 자료의 변수명)
end
create table Person
(
id tinyint primary key,
name nvarchar(15) not null
)
insert into Person values(1, 'jung uchang')
insert into Person values(2, 'hong gildon')
insert into Person values(3, 'kim gildong')
--- 방법1 ----
create function GET_FIRST_NAME
(
@name varchar(15)
)
RETURNS varchar(15)
as
begin
declare @Result varchar(5)
declare @dataLength int
declare @i int
set @i = 1
select @dataLength = LEN(@name)
set @Result = substring(@name,0,1)
while(@i < @dataLength)
begin
if(substring(@name, @i, 1) = '')
begin
break;
end
else
begin
set @Result = @Result + substring(@name, @i, 1)
set @i = @i + 1
continue;
end
end
return (@Result)
end
실행1 : select name, Sample.dbo.GET_FIRST_NAME(name) from Person
--- 방법2 ---
create function GET_FIRST_NAME1
(
@name varchar(15)
)
RETURNS varchar(15)
as
begin
declare @Result varchar(15)
declare @c char
declare @i int
set @Result = ''
set @i = 1
set @c = substring(@name, 1, 1)
while(@c != '')
begin
set @Result = @Result + @c
set @i = @i + 1
set @c = substring(@name, @i, 1)
end
return (@Result)
end
실행2 : select name, Sample.dbo.GET_FIRST_NAME1(name) from Person
댓글 영역