일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Tomcat
- Ajax
- 구멍가게코딩단
- 부스트코스
- bulkinsert
- swipe 배너
- github
- insertAll
- spring
- 오라클
- vue Carousel
- 기출문제
- 정보처리산업기사
- JSON
- NoSQL
- MariaDB
- query
- JAXBContext
- checkbox
- 마스킹
- vscode tutorial
- INSERT
- mysql
- mybatis
- jsp
- egov
- java
- JQuery
- jdbc
- vue.js
- Today
- Total
목록
728x90
반응형
Data Base (8)
개발새발
REGEXP_REPLACE는 오라클의 정규표현식 함수이다. 정규식을 잘 사용하면 SQL과 각종 프로그램의 연산속도를 감소시키며 프로그램을 단순화시킬 수 있다. 모든 숫자를 '*'로 변경하려고 한다면 아래와 같이 쓸 수 있다. SELECT REGEXP_REPLACE('치환할 컬럼명', '[[:digit:]]', '*') FROM '테이블명' 숫자 외에 다른 syntax 종류도 있다. [:alnum:] 영어와 숫자 [:alpha:] 알파벳, [A-Za-z] [:blank:] 공백과 탭 [:digit:] 숫자 [:lower:] 소문자, [a-z] [:punct:] 특수문자 [:space:] 공백(스페이스) [:upper:] 대문자, [A-Z] [가-힣] 한글전체
일반적으로 쓰는 bulk insert의 문법은 아래와 같다. 오라클의 INSERT ALL과 마이바티스의 foreach를 사용하여 INSERT ALL 이후의 문법을 여러 번 반복하는 것이다. INSERT ALL INTO STUDENT_TABLE ( STUDENT_ID , STUDENT_SCHOOL_ID , STUDENT_NAME , STUENT_SEX , STUDENT_ADDR , STUDENT_AGE ) VALUES ( #{list.studentId} , #{list.schoolId} , #{list.studentName} , #{list.studentSex} , #{list.studentAddr} , #{list.studentAge} ) SELECT * FROM DUAL 하지만 테이블에 INSERT를 ..
WITH xlsx(seq, id) AS ( SELECT 1 , '한국' UNION ALL SELECT 1 , '호주' UNION ALL SELECT 2 , '스페인' UNION ALL SELECT 3 , '영국' UNION ALL SELECT 4 , '러시아' UNION ALL SELECT 5 , '핀란드' ) SELECT distinct a.PARTS_AMT, PARTS_CD FROM svc_prd_PARTS a INNER JOIN xlsx b ON a.PARTS_cd = b.id ORDER BY b.seq ;
LPAD 함수 = LPAD(사용할 컬럼명, 대상 값의 크기를 포함한 개수 , 삽입할 문자) CREATE FUNCTION FN_GET_MASK_ALL (mask VARCHAR(50)) RETURNS varchar(50) CHARSET utf8 BEGIN DECLARE masking VARCHAR(50); set masking = LPAD('',char_length(mask),'*') ; RETURN masking; end : 예를 들어 LPAD('aaa',char_length(mask),'*') 이렇게 쓰고 mask 개수가 3개라면 결괏값은 ***aaa 가 된다. 그러므로 받는 컬럼의 개수만큼 마스킹 처리를 하고 싶으면 LPAD('', char_length(mask), '*') 첫 번째 자리를 빈 값으로 ..

스프링으로 게시판을 만들던 중 db에서 직접 데이터를 넣고 list에 뿌렸을 때는 한글이 잘 나왔는데 화면에서 데이터를 insert 하면 한글에 깨져서 db에 들어갔다. my.cnf파일을 찾아서 설정을 추가해줘야 한다. my.cnf 파일 경로 Macintosh HD ▸ usr ▸ local ▸ etc 텍스트 편집기로 파일을 열어서 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci init_connect=SET collation_connection=utf8_general_ci init_connect=SET NAMES utf8 [client] default-character-set=utf8 [mysql] default-cha..
공통으로 페이징 가져와서 쓴 쿼리 SELECT a.test_ID, a.TITLE, CONCAT(STR_TO_DATE(a.START_DISP_DT, '%Y%m%d'), ' ~ ', STR_TO_DATE(a.END_DISP_DT, '%Y%m%d')) as startEndDispDT, a.LINK_URL, a.CNTS, a.USE_YN, a.DEL_YN, DATE_FORMAT(a.REG_DT, '%Y-%m-%d') AS REG_DT, b.EMP_NM as REG_NM, a.UPD_DT, a.UPD_NO FROM test a, EMP b a.reg_no = b.emp_no AND a.TITLE LIKE '%' #{title} '%' AND STR_TO_DATE(a.start_disp_dt, '%Y%m%d') =..
mariaDB를 쓴다면 세자리 수 단위로 쉼표를 찍는 내장함수가 있기 때문에 굳이 화면단 script까지 가져갈 필요 없다 [example] money의 값 : 12345678 select format(money, 0) as MONEY from test; 실행결과 : 12,345,678

맥으로 오라클을 사용하기 위해 도커를 이용했다 어째저째 설치하고 사용은 하고 있었지만 도커나 오라클에 대해 완벽하게 숙지하고 있는 상태는 아니었다 왠만하면 아무것도 건드리지 않고 필요한부분만 쓰려고 했는데 아니 웬걸 비밀번호가 만료 되었단다 비밀번호만 새로 바꿔주면 되는데 터미널 창에서 어떻게 들어가는지 모르고 헤매고 있었다 컨테이너 이름을 먼저 알고 있어야 했는데 대부분 이름들이 oracle11g 라서 계속 따라 쳤는대도 찾을수 없는 컨테이너라고 떴다. [해결] 1. 먼저 내 컨테이너 이름이 뭔지 확인한다. docker ps 어째저째 검색하면서 복붙 하다보니 저런 이름으로 설정 되었는가보다. 2. 그런다음 sqlplus를 실행시켜주면 된다. docker start docker exec -it sqlpl..