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 6953 게시물 읽기
No. 6953
컬럼값 변경 문의 드립니다
작성자
축구소년(tjdrl0508)
작성일
2016-02-01 16:46
조회수
4,160

고수님들께 질문드립니다

 예를들어 

010.050.223.051 이란 아이피를  소수점 자리마다 앞의 0을 빼는 update 쿼리는 어떻게 해야 할까요?

Replace나 ltrim을 활용하면 될듯한데 방법을 모르겟네요..

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

점을 기준으로 세자리길이로 구분한다면 substring, cast as int 등을 사용하면 될것같네요.

구분한 숫자의 자리수가 다르다면 charindex로 하면 될듯?

정상규(pajama)님이 2016-02-01 18:07에 작성한 댓글입니다.

SELECT ip
     , SUBSTRING(REPLACE(REPLACE('.'+ip, '.00', '.'), '.0', '.'), 2, 20) x
  FROM (SELECT '010.050.223.051' ip) a
;

마농(manon94)님이 2016-02-02 08:54에 작성한 댓글입니다.

위에 두분 답변 감사드립니다

그런데 예를 든 IP 뿐아니라 모든 IP가 다 저런식이라..

마농님께서 만들어주신 쿼리는 저 하나의 IP만 해당하는듯 싶습니다

010.050.223.051

010.050.024.123

.

.

.

머 이런식인데..한번에 만드는 쿼리는 어찌해야 할까요?

축구소년(tjdrl0508)님이 2016-02-02 22:51에 작성한 댓글입니다.

마농님이 작성해주신 쿼리 확인해보니 정상적으로 작동됩니다.

 

하기쿼리 참고해보시면 될듯요..

---쿼리시작---

;with tblA(ip) As
(
            Select '010.050.223.051'
  Union All Select '010.150.223.051'
  Union All Select '010.001.023.151'
  Union All Select '010.050.223.001'
  Union All Select '001.050.223.051'
  Union All Select '110.050.223.051'
)
   Select SUBSTRING(REPLACE(REPLACE('.'+a.ip, '.00', '.'), '.0', '.'), 2, 20) x
     From tblA a  
---쿼리끝---    

 

그리구 실제 데이터 Update 시

하기와 같이 바꾸시면 될듯합니다.

 

그럼 수고하세요~

 

Update 실제테이블명

   Set IP컬럼명 = SUBSTRING(REPLACE(REPLACE('.'+IP컬럼명, '.00', '.'), '.0', '.'), 2, 20) x

최한영(terry0515)님이 2016-02-03 10:54에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6956mysql 설치 질문입니다~
qweasd
2016-02-22
4148
6955Insert 관련 질문입니다. [1]
조동건
2016-02-17
3959
6954업데이트 [2]
ohyouknow
2016-02-15
4302
6953컬럼값 변경 문의 드립니다 [4]
축구소년
2016-02-01
4160
6952랜덤함수를 이용하여 특정일자를 지정하는 쿼리 문의 드립니다.
권영호
2016-01-28
4093
6951xp_cmdshell 막는 방법 [1]
궁금이
2016-01-21
3930
6950다시 쿼리 확인 부탁드립니다. [5]
궁금해요
2016-01-18
4234
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다