요일구분 1 11 2,450

by 일곱난장이 [Oracle 기초] 요일/요일명/요일구분 [2022.12.29 10:38:23]


안녕하세요

컬럼에 요일값이 : 135

                      : 1234 

표시 : 일,화,목

      : 일,월,화,수

이렇게 표시 하고 싶은데 

고수님들께 부탁드립니다

by 우리집아찌 [2022.12.29 11:10:12]

컬럼값이 DATE로 변환가능하면 TO_CHAR( 날자컬럼, 'DAY' ) 


by pajama [2022.12.29 12:07:20]

아래처럼 해봤는데 마지막 콤마 제거가 잘 안되네요..

select translate(regexp_replace('1234', '(.)', '\1,'), 'x1234567', 'x일월화수목금토') from dual

 


by 동동동 [2022.12.29 12:26:23]

요일체계가 1은 무조건 일요일 인가요?


by 일곱난장이 [2022.12.29 13:38:31]

1-> 요일구분값(일요일) 입니다


by 우리집아찌 [2022.12.29 12:31:53]

regexp_replace('1234','(.)','.\1',2)  

--start posistion 추가


by 일곱난장이 [2022.12.29 13:38:53]

감사합니다


by 마농 [2022.12.29 12:37:16]
WITH t AS
(
SELECT '135' dy FROM dual
UNION ALL SELECT '1234' FROM dual
)
SELECT dy
     , REGEXP_REPLACE(
       TRANSLATE(dy, '1234567', '일월화수목금토')
       , '(.)', ',\1', 2) x
  FROM t
;

 


by 동동동 [2022.12.29 15:50:12]

마농님 정규식 패턴에서 

'(.)' 과 ',\1' 에 대해 설명 가능하실까요?

'(..)' ',\2' 로 패턴과 바꿔치기할 문자열 값을 다르게 변경해 가며 파악해 보고 있는데..패턴의 의미를 잘 모르겠네요..ㅠㅠ

 


by 일곱난장이 [2022.12.29 13:37:16]

매번 너무 감사드립니다~


by 마농 [2022.12.29 16:18:13]

To. 동동동.
. 은 모든 문자에 대응됩니다.
괄호는 묶음의 의미입니다.
뒤에 \1 은 앞의 패턴 중 첫번째 괄호문자를 가르킵니다.
즉 1글자 짜리 모든 문자를 해당 문자가 포함되어 앞에 컴마가 붙는 문자로 교체한다는 의미
 

-- 사용 예 --
WITH t AS
(
SELECT '01012345678' tel FROM dual
)
SELECT tel
     , REGEXP_REPLACE(tel, '(...)(....)(....)', '\1-\2-\3') tel_1
     , REGEXP_REPLACE(tel, '(.{3})(.{4})(.{4})', '\1-\2-\3') tel_2
  FROM t
;

 


by 동동동 [2022.12.29 16:26:01]

마농님 설명 정말 감사드립니다..^^

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