camelCase

강윤아·2021년 10월 18일

DataBase

목록 보기
2/2

실제로 없는 name, age를 with사용해서 검색하기

WITH TEMP AS(
select '홍길동' as name, 23 as age from dual
union
select '강길동' as name, 23 as age from dual
union
select '정길동' as name, 23 as age from dual;
)
select * from TEMP

snake_case(스네이크케이스)
단어가 합쳐진 부분마다 중간에 언더라인을 붙여 주는 방법이다.
PascalCase(파스칼케이스)
첫 글자는 대문자로 시작하여 연결된 단어의 첫 글자도 대문자로 표기해야한다.
camelCase(카멜케이스)
원본이 의미가 있는 단어끼리_로 연결되었다면 카멜케이스는 시작하는 알파벳을 대문자로 바꾼다.
스크립트 단에서는 카멜케이스를 쓰고 db단에서는 대문자와 언더바를 쓰는 이유
-> 자바스크립트의 변수이름을 어떻게 지을지는 자유
그러나 거의 모든 메이저 라이브러리와 핵심 API는 카멜케이스를 사용한다.

SUBSTR(REPLACE(INITCAP('1'||대상문자열),'_'),2)FROM TALBE;
INICAP : 각 단어의 첫 글자를 대문자로, 나머지는 소문자로 변환하여 반환한다.
-대상문자열에서 각 단어의 첫 글자만 대문자로, 나머지는 소문자로 변환
-'1'||대상문자열 1이 붙은 이유
INICAP을 쓰면 무조건 단어의 첫 글자를 대문자로 변환해주는데,
카멜케이스는 맨 앞 단어의 첫 글자는 소문자가 되어야 하기 때문에 앞에 다른 문자를 아무거나 붙여서 맨 앞 단어의 첫 글자가 대문자가 되는 것을 방지해준다.

REPLACE : 변환한 문자열에서 _(언더바) 제거

SUBSTR : 맨 앞 단어의 첫 글자가 소문자가 되도록 맨 앞에 문자를 아무거나 하나 붙여줬기 때문에 그 문자를 떼어내는 작업을 진행한다.

예제)데이터에 직접 입력 받지 않고 카멜케이스로 변환하기
WITH T AS(
SELECT 'SKTFAKER' AS val FROM DUAL
UNION ALL
SELECT 'SKT_BANGI_THE_JUNGLE' FROM DUAL
UNION ALL
SELECT 'ABCD
가나다라_1234_xyz' FROM DUAL
UNION ALL
SELECT 'a_bc_1_22_333' FROM DUAL
UNION ALL
SELECT 'A_bC_3_45_678' FROM DUAL
UNION ALL
SELECT 'XY_3Z_1_004' FROM DUAL
UNION ALL
SELECT 'XY3_z_100_04' FROM DUAL
UNION ALL
SELECT '_AB_cd100_0__4' FROM DUAL
)

답 : SELECT SUBSTR(REPLACE(INITCAP('1' || val), '_',''), '2')FROM T;

0개의 댓글