제목 : mssql 초성 검색 function 만들기




소스 :


1. 아래 쿼리문 실행으로 function 생성


CREATE FUNCTION [dbo].[UTF8_Search1stText]

(

@Value NVARCHAR(MAX)

)

RETURNS NVARCHAR(MAX)

AS 

BEGIN

DECLARE @Rtn NVARCHAR(MAX)

DECLARE @Temp NVARCHAR(2)

DECLARE @SerchValue NVARCHAR(MAX)

DECLARE @i INT

DECLARE @n INT

SET @Rtn = ''

SET @i = 1

SET @n = LEN(@Value)

WHILE @i <= @n

BEGIN

SET @Temp = Substring(@Value, @i, 1)

SET @SerchValue = (CASE @Temp 

WHEN 'ㄱ' THEN '[가-깋]'

WHEN 'ㄲ' THEN '[까-낗]'

WHEN 'ㄴ' THEN '[나-닣]'

WHEN 'ㄷ' THEN '[다-딯]'

WHEN 'ㄸ' THEN '[따-띻]'

WHEN 'ㄹ' THEN '[라-맇]'

WHEN 'ㅁ' THEN '[마-밓]'

WHEN 'ㅂ' THEN '[바-빟]'

WHEN 'ㅃ' THEN '[빠-삫]'

WHEN 'ㅅ' THEN '[사-싷]'

WHEN 'ㅆ' THEN '[싸-앃]'

WHEN 'ㅇ' THEN '[아-잏]'

WHEN 'ㅈ' THEN '[자-짛]'

WHEN 'ㅉ' THEN '[짜-찧]'

WHEN 'ㅊ' THEN '[차-칳]'

WHEN 'ㅋ' THEN '[카-킿]'

WHEN 'ㅌ' THEN '[타-팋]'

WHEN 'ㅍ' THEN '[파-핗]'

WHEN 'ㅎ' THEN '[하-힣]'

ELSE @Temp END)

SET @Rtn = RTRIM(@Rtn) + @SerchValue

SET @i = @i + 1

END

Return @Rtn

END



내용 :


2. 사용법


select * from T_GOODS where PATINDEX(dbo.UTF8_Search1stText('ㄱ') + '%' , Title) > 0






예제 소스 파일 :


 출처 :  




저작자 표시 비영리 변경 금지
신고
Posted by 잠수콩