줄바꿈 문제 0 4 2,906

by 날막아봐 [Oracle 기초] [2020.08.21 15:48:41]



혹시 이 문제 해결해주실수있나요? 문제 자체를 찍어서 답지와 함께 첨부했습니다. 

문제에 이해를 돕기 위해 라는 이야기가 나왔는데 더 이해가 안됩니다...

by pajama [2020.08.21 16:04:09]

chr(10)이 줄바꿈 문자인데, 줄바꿈 문자를 제거한 문자열 길이의 총합이 5가 되네요.

with tab1 as (
select rownum, 'A'||CHR(10)||'A' c1 from dual
union all select 2, 'B'||CHR(10)||'B'||CHR(10)||'B' from dual
)
select sum(cc)
from ( select (length(c1) - length(replace(c1,chr(10))) + 1 ) cc from tab1)

   SUM(CC)
----------
         5

 


by 날막아봐 [2020.08.21 16:16:50]

먼저 답변 감사합니다. 그런데 제가 엄청 시작단계라서 더 여쭤보자면

 

replace 함수는 replace(컬럼명, 찾을 문자, 변환문자) 인데 변환 문자는 안나와서 공백이고

 

그래서 줄바꿈이 없어지고 문자가 붙게되는건가요?

 

뒤에 cc붙은 건 별명이 설정한게 맞나요?

 

 


by pajama [2020.08.21 16:45:15]

줄바꿈이 제거되면 'A'||CHR(10)||'A'는 'A'||''||'A'로,

'B'||CHR(10)||'B'||CHR(10)||'B'는 'B'||''||'B'||''||'B'로 되겠죠. cc는 말씀하신대로 별명(alias)입니다.


by 날막아봐 [2020.08.23 17:28:44]

친절한 답변 정말 감사드립니다!

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