맨 마지막 글자를 *로 바꾸는 쿼리 질문드립니다.. 0 6 1,496

by 다크팬더 [SQL Query] [2016.08.03 09:24:49]


회원정보가 들어있는 IDPW 테이블에 이름이 홍길동처럼 3글자가 있는거는

홍길*로 마지막을 * 별표시로 업데이트 하는 쿼리문을 알고싶습니다.

이름이 두글자인 경우 홍길을 홍*으로 일괄 전부 변경하고 싶은데....

간단하게 할수있는 방법이 있을까요..?? 고수님들께 문의드립니다!!!!!

(이름 다시 복구 안해도 됩니다...테스트용 디비라서....)

by swlee [2016.08.03 09:48:17]
with t as (
select '홍길동' txt from dual union all
select '홍길' from dual 
)
select substr(txt,1,length(txt)-1) ||'*'
from t;

 


by 다크팬더 [2016.08.03 09:58:05]

죄송하지만 이름이 3글자인경우 뒤에 성만 놔두고 다 ** 이렇게 하거나

맨뒤를 * 이렇게 하거나 그걸 알고 싶은건데....ㅠㅠ

홍길동 하나만 변경하는게 아니라..ㅠㅠㅠㅠ

회원정보 테이블에 정보가 많거든요.....ㅠㅠ


by swlee [2016.08.03 10:08:55]
--위에는 그냥 예시이고 아래 update문 실행하시면 마지막 글자만 * 로 update 됩니다

update 테이블명
set 컬럼 = substr(컬럼,1,length(컬럼)-1) ||'*';

 


by 다크팬더 [2016.08.03 10:13:45]

답변 감사드립니다!!!!!!!!


by 박영식 [2016.08.03 10:29:27]
WITH T AS (
select '김철수' NAME from dual union all
select '김별' from dual union all
select '김디에나' from dual union all
select '박이름입니다' from dual
)
SELECT RPAD(SUBSTR(NAME, 1, 1), LENGTH(NAME) + 1, '*') AS NAME
  FROM T

이름 맨뒤에 한자리만 *하는 방법은 위에  설명해주신데로하시면 되고

성 뒤엔 무조건 * 로 변경하는 것 올려드립니다


by 다크팬더 [2016.08.03 10:45:02]

신경써주셔서 매우 감사드립니다!!!!!!!!

이 쿼리도 참고해서 테스트하도록 하겠습니다!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입