데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
쿼리를 이용하여 테이블에서 테이블로 원하는 데이터를 인서트를 칠려고 하는데
각 테이블의 컬럼 데이터 타입이 다르네여
수신테이블의 데이터 형식인 문자형이고
데이터가 문자 + 숫자 + 기호(/*-) 가 섞여 있습니다.
여기서 숫자만 추출하는 방법좀 알려주세요
Comment 3
-
Terry
2015.10.01 14:54
-
한주댕이다
2015.10.01 17:23
감사합니다. ^^ 제가 검색는 예제가하면 잘 안찾아져요 ㅜㅜ
-
한태
2016.03.30 17:50
declare @var varchar(50)set @var='Nike330%#'Select PatIndex('%[0-9]%', @var)-->8, 숫자로 시작하는 위치 확인Select SubString(@var, PatIndex('%[0-9]%', @var), LEN(@var))-->330%#Select PatIndex('%[^0-9]%', SubString(@var, PatIndex('%[0-9]%', @var), LEN(@var)))-->4, 위의 결과값에서 숫자가 아닌 시작위치 확인Select PatIndex('%[^0-9]%', SubString(@var, PatIndex('%[0-9]%', @var), LEN(@var)) + 'X')-->4, LEFT의 경우 음수값은 처리할 수 없기 때문에 숫자로 끝날 경우에 대비하여 'X' 추가Select LEFT(SubString(@var, PatIndex('%[0-9]%', @var), LEN(@var)),PatIndex('%[^0-9]%', SubString(@var, PatIndex('%[0-9]%', @var), LEN(@var)))-1 )-->330
구글 검색하니 원하는 형태의 예제가 여러건 뜨는데요?;;
하기 사이트 참고하세요.
http://bestofsky.com/350
원출처는 여기 sqler 네요~