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 6425 게시물 읽기
No. 6425
오른쪽 숫자 제거하기
작성자
정인수(insoo320)
작성일
2012-10-10 02:38
조회수
11,041

데이터중에 아래와 같은 데이터가 많이 있습니다.

홍길동(2-1)

홍길동(2-2)

김철수(2-1)

김철수(2-2)

홍당무(10-1)

홍당무(10-10).....

이런식으로 입력되어 있는데, 뒷부분은 빠지고 이름만 출력할 수 있는 쿼리문을 알고싶네요..

홍길동, 김철수, 홍당무... 이런식입니다.

아무리생각해봐도 떠오르지가 않네요..

도움주시면 감사하겠습니다..

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

SELECT SUBSTRING( '홍길동(2-1)', 1, charindex('(', '홍길동(2-1)' ) - 1 )

;
 
와 같은 쿼리로 '홍길동(2-1)' 대신에 컬럼명 넣으시면 뽑히실 듯.
우욱님이 2012-10-10 13:37에 작성한 댓글입니다. Edit

답변감사드립니다. 말씀하신대로 쿼리문을 넣어서 컬럼을 아래와 같이 넣었습니다.

 

select SUBSTRING(b_nm,1,CHARINDEX('(',b_nm)-1) from basemback ----b_nm은 컬럼입니다.

 

위와 같이 실행시키니까 'LEFT 또는 SUBSTRING 함수에 전달된 길이 매개 변수가 잘못되었습니다.'라고 뜨면서 오류가 생깁니다. 혹시 어디가 잘못된건지 알려주시면 감사하겠습니다..

정인수(insoo320)님이 2012-10-10 15:48에 작성한 댓글입니다.
이 댓글은 2012-10-10 15:48에 마지막으로 수정되었습니다.

질문에서 보여주셨던 것처럼 모든 이름에 (가 있는 것은 아닌 가 봅니다.

그렇다면

 

SELECT 

CASE WHEN 0 = CHARINDEX('(', b_nm ) THEN

b_nm

ELSE

SUBSTRING( b_nm, 1, CHARINDEX('(', b_nm ) - 1 )

END AS strip_b_nm

;

 

와 같이 해보세요.

우욱님이 2012-10-10 17:16에 작성한 댓글입니다.
이 댓글은 2012-10-10 17:17에 마지막으로 수정되었습니다. Edit

대충 

WITH tmp AS ( 

SELECT x = '홍길동(2-1)' UNION ALL 

SELECT x = '홍길동(2-2)' UNION ALL 

SELECT x = '김철수(2-1)' UNION ALL 

SELECT x = '김철수(2-2)' UNION ALL 

SELECT x = '홍당무(10-1)' UNION ALL 

SELECT x = '홍당무(10-10)' UNION ALL 

SELECT x = '홍xx'

SELECT 

ISNULL(PARSENAME(REPLACE(x, '(', '.'), 2) , x) 

FROM 

 

.님이 2012-10-15 14:49에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6428[질문]SQL 2012에서 트랜젝션 로그 삭제 [2]
손덕진
2012-10-26
11194
6427쿼리 질문드리겠습니다. [1]
박종훈
2012-10-19
7264
6426$partition 사용법 질문입니다. [2]
김봉달
2012-10-16
6806
6425오른쪽 숫자 제거하기 [4]
정인수
2012-10-10
11041
6424조인 및 조건 주기요.. [1]
초보입니다.
2012-09-28
7181
6423인덱스에 궁금한점이 있습니다. [2]
곰보
2012-09-27
6878
6422ms sql 2000 특정 테이블 쿼리가 응답이 없습니다 [1]
김한식
2012-09-26
7424
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다