by 날막아봐 [Oracle 기초] [2020.08.21 15:48:41]
혹시 이 문제 해결해주실수있나요? 문제 자체를 찍어서 답지와 함께 첨부했습니다.
문제에 이해를 돕기 위해 라는 이야기가 나왔는데 더 이해가 안됩니다...
chr(10)이 줄바꿈 문자인데, 줄바꿈 문자를 제거한 문자열 길이의 총합이 5가 되네요.
with
tab1
as
(
select
rownum,
'A'
||CHR(10)||
c1
from
dual
union
all
2,
'B'
)
sum
(cc)
(length(c1) - length(
replace
(c1,chr(10))) + 1 ) cc
tab1)
SUM
(CC)
----------
5
먼저 답변 감사합니다. 그런데 제가 엄청 시작단계라서 더 여쭤보자면
replace 함수는 replace(컬럼명, 찾을 문자, 변환문자) 인데 변환 문자는 안나와서 공백이고
그래서 줄바꿈이 없어지고 문자가 붙게되는건가요?
뒤에 cc붙은 건 별명이 설정한게 맞나요?
줄바꿈이 제거되면 'A'||CHR(10)||'A'는 'A'||''||'A'로,
'B'||CHR(10)||'B'||CHR(10)||'B'는 'B'||''||'B'||''||'B'로 되겠죠. cc는 말씀하신대로 별명(alias)입니다.
친절한 답변 정말 감사드립니다!