database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 5482 게시물 읽기
No. 5482
, 데이터를 row 로 변경 가능한지요?
작성자
짜집기
작성일
2009-12-01 10:29
조회수
5,642



select a from t


하면 a 의 데이터는


a,b,c,d,e 의 문자열이 나옵니다.


이 , 를 row 로 변경하고 싶거든요.



원하는 결과값


a

b

c

d

e


이렇게 5개 row 로요. 오라클읜 분석함수는 가능할 것 같은데 mssql 은 어떤 식으로 변경하나요?

이 글에 대한 댓글이 총 2건 있습니다.

안녕하세요 

이렇게 해도 되는지는 모르겠습니다.

select replace('a,b,c,d,e',',',  char(10)+' ' )

수고하세요

구광모(kkm0802)님이 2009-12-01 14:06에 작성한 댓글입니다.

안녕하세요.

저같은 경우는 아래와 같은 함수를 작성해서 사용하고 있습니다.


CREATE FUNCTION [dbo].[fn_Split] (@sep char(1), @s varchar(512))

RETURNS table

AS

RETURN (

    WITH Pieces(pn, start, stop) AS (

      SELECT 1, 1, CHARINDEX(@sep, @s)

      UNION ALL

      SELECT pn + 1, stop + 1, CHARINDEX(@sep, @s, stop + 1)

      FROM Pieces

      WHERE stop > 0

    )

    SELECT SUBSTRING(@s, start, CASE WHEN stop > 0 THEN stop-start ELSE 512 END) AS s

    FROM Pieces

  )


필요하신 부분에서 응용해서 사용하시면 되실 것 같습니다.

select * from dbo.fn_split(',','a,b,c,d,e')

이렇게 실행시키면 원하시는 데로 결과가 나올겁니다.


그럼. 수고하세요!

julia님이 2009-12-05 04:54에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5485특정 값 순으로 정렬 하기 [3]
한치우
2009-12-04
5796
5484문자열 조합된 컬럼을 검색 할려고 할때 [3]
한동
2009-12-02
6034
5483MS-SQL 8.0.0.2039의 JDBC 드라이버를 어떤 것을 써야 하나요?
장명석
2009-12-02
5998
5482, 데이터를 row 로 변경 가능한지요? [2]
짜집기
2009-12-01
5642
5481[질문]데이터가 많은 테이블에 인덱스를 설정하려 합니다.(오류메세지 추가) [2]
장현호
2009-12-01
7746
5480[문의] C#.NET 개발의뢰 하실수 있는분 계신가요?
이혜진
2009-11-29
6171
5479[질문] Row Column 을 Col Column 으로 조회 가능 할까요? [1]
궁금이
2009-11-27
6630
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다