일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- VARIABLE
- 자바기초
- FileSystemObject
- 정규식
- SPLIT
- inner join
- 이미지가로길이
- JavaScript
- jdbc driver
- sql순위
- 인젝션
- sql업데이트
- ERD
- join
- XML
- WML
- array
- asp함수
- wap
- instr
- javascript 한글입력체크
- tempDB
- 이미지세로길이
- VarType
- update
- 한글입력체크
- injection
- xmldom
- MSSQL보안
- sql랭킹
- Today
- Total
3초기억력
MSSQL 함수 - asp 에서 split 같은 효과 + 인덱스번호따기 본문
제목 : MSSQL 함수 - asp 에서 split 같은 효과 + 인덱스번호따기
-- Description: <문자열을 특정문자로 SPLIT 처리>
-- =============================================
CREATE FUNCTION [dbo].[keyword_Split](@strValue NVARCHAR(4000), @splitChar NVARCHAR(1)) -- 분리 문자열, 구분 문자
RETURNS @split_Temp Table(num INT, val NVARCHAR(4000))
AS
BEGIN
DECLARE @oPos INT, @nPos INT, @i INT
DECLARE @tempVar NVARCHAR(4000) -- 분리된 문자열 임시 저장변수
SET @oPos = 1 -- 구분문자 검색을 시작할 위치
SET @nPos = 1 -- 구분문자 위치
SET @i = 0
WHILE(@nPos > 0)
BEGIN
SET @nPos = CHARINDEX(@splitChar, @strValue, @oPos)
IF @nPos = 0
SET @tempVar = RIGHT(@strValue, LEN(@strValue) - @oPos + 1)
ELSE
SET @tempVar = SUBSTRING(@strValue, @oPos, @nPos - @oPos)
IF LEN(@tempVar) > 0
INSERT INTO @split_Temp VALUES(@i, @tempVar)
SET @oPos = @nPos + 1
SET @i = @i + 1
END
RETURN
END
-- 사용법
-- SELECT * FROM keyword_Split('빨강|노랑|파랑|빨강|노랑|', '|')
-- SELECT * FROM keyword_Split('A,B,C,D,A', ',')
내용 : split 하여 각 인덱스번호를 따준다.
출처 :
'쿼리_MSSQL' 카테고리의 다른 글
ms-sql 날짜 관련 쿼리문. 기본 (0) | 2012.12.26 |
---|---|
MS-SQL : 테이블 사용자 를 변경하고 싶을때 (0) | 2011.08.30 |
MS-MQL : 암호화, 암호화 컬럼 비교 ( PwdEncrypt, PwdCompare ) (0) | 2011.08.16 |
Oracle - insert, update 한번에 처리하는 쿼리문 (0) | 2011.04.28 |
오라클 - case 문 (0) | 2011.04.08 |