FIRST_REG_DT -> firstRegDt
FIRST_REG_ID -> firstRegId
LAST_MOD_DT -> lastModDt
LAST_MOD_ID -> lastModId
TABLE COLUMN_NAME을 CAMEL CASE로 변경하려고 합니다.
ORACLE에서는 INITCAP함수가 지원되어서 CAMELCASE로 용이합니다
MARIADB에서는 INITCAP함수가 지원이 되지 않습니다.
MARIADB 에서는 어떻게 쿼리로 구현해야 되나요?
'
select column_name
from information_schema.columns where table_name = '테이블명'
mariadb에는 initcap과 유사한 기능의 함수가 없어서 직접 만드셔서 사용하셔야합니다.
쿼리만으로는 어렵지 않을까요..
아래 링크에 있는걸 써봤는데 잘 동작하네요. 사용하신다면 테스트는 충분히 해보시고..
https://stackoverflow.com/questions/12364086/how-can-i-achieve-initcap-functionality-in-mysql
MariaDB [test]> select substr(replace(initcap(concat('1',replace('FIRST_REG_DT','_',' '))),' ',''),2) initcap; +------------+ | initcap | +------------+ | firstRegDt | +------------+
-- MariaDB 10.4 -- SELECT table_schema , table_name , column_name , ordinal_position , GROUP_CONCAT( CASE WHEN SUBSTR(column_name, seq - 1, 1) = '_' THEN UPPER(SUBSTR(column_name, seq, 1)) ELSE LOWER(SUBSTR(column_name, seq, 1)) END ORDER BY seq SEPARATOR '') column_name_new FROM information_schema.columns INNER JOIN seq_1_to_40 ON seq <= LENGTH(column_name) WHERE table_schema = 'test' AND table_name = 'test' AND SUBSTR(column_name, seq, 1) != '_' GROUP BY table_schema , table_name , column_name , ordinal_position ;
-- Oracle -- SELECT table_name , column_name , column_id , REPLACE(SUBSTR(INITCAP('a' || column_name), 2), '_') column_name_new FROM user_tab_columns WHERE table_name = 'TEST' ;