본문 바로가기
반응형

분류 전체보기106

[ORACLE] GREATEST, LEAST 함수 (하나의 행에서 최대값, 최소값 구하기) 흔히들 알고 있는 MAX, MIN 함수는 하나의 컬럼의 값(열 단위, COLUMN) 중에서 최대값, 최솟값을 구하는 함수이다.마찬가지로 이번에 알아볼 GREATEST, LEAST 라는 함수도 최대값, 최소값을 구하는 함수이다.다만, 하나의 행(열거 리스트)에서 여러 컬럼의 값(행 단위, ROW)을 비교한다는 점에서 차이가 있다. MAX(COLUMN) : 대상 컬럼에서의 최대값 (열 단위, COLUMN)MIN(COLUMN) : 대상 컬럼에서의 최소값 (열 단위, COLUMN)GREATEST(expr1, expr2, ... ) : 대상 행(열거 리스트)에서의 최대값 (행 단위, ROW)LEAST(expr1, expr2, ... ) : 대상 행(열거 리스트)에서의 최소값 (행 단위, ROW)GREATEST/L.. 2024. 3. 26.
[ORACLE] LISTAGG 집계함수 (여러 행을 하나의 값으로 합치기) 오라클에서 여러 행의 컬럼 값을 하나로 합쳐주는 기능을 지원하는 함수는 버전별로 상이하다.XMLAGG : 오라클 9i 이하  WM_CONCAT : 오라클 10g ~ 11g R1 LISTAGG : 오라클 11g R2 ~ ( DISTINCT 를 사용한 중복제거 불가 / 정규식 함수 사용 )LISTAGG : 오라클 19g ~  ( DISTINCT 를 사용한 중복제거 가능 ) LISTAGG( ) 함수는 그룹 함수이기 때문에 GROUP BY 또는 PARTITION BY 절과 함께 사용해야 한다. 구문 예시LISTAGG([합칠 컬럼명], [구분자]) WITHIN GROUP(ORDER BY [정렬 컬럼명])  PARTITION BY 절을 사용하여 컬럼 합치기SELECT ename , job , LIST.. 2024. 3. 24.
[ORACLE] LPAD, RPAD 함수 (지정한 길이만큼 문자('0', 공백) 채우기) 문자열 데이터를 제어하다 보면 SUBSTR, REPLACE 등의 함수와 함께 많이 쓰이는 함수로 주로 문자로 된 숫자의 앞자리에 '0'을 넣어 자릿수를 맞출 때 쓰이거나 ' '(공백)을 앞/뒤로 넣어 자릿수를 맞출 때 주로 사용하는 함수이다. LPAD 함수지정한 길이만큼 왼쪽부터 특정문자로 채워준다.LPAD("값", "총 문자길이", "채움문자")  RPAD 함수지정한 길이만큼 오른쪽부터 특정문자로 채워준다.RPAD("값", "총 문자길이", "채움문자")   [참고]https://haenny.tistory.com/124https://gent.tistory.com/190 2024. 3. 24.
[ORACLE] 서브쿼리 2 DEPTH 참조 (SubQuery 2 Depth Issue) 오라클 11g 이하 버전에서는 서브쿼리에서 서브쿼리를 사용할 경우 메인 컬럼을 참조하지 못한다. ("ORA-00904: 부적합한 식별자" 오류 발생) 11g 이하 버전이 이제는 많이 쓰이진 않겠지만 사용하는 오라클 버전이 낮거나 고려해야 하는 사유가 있는 경우 이중 서브쿼리에서 메인컬럼을 참조하지 않는 방안으로 쿼리를 개선할 필요가 있다. 오라클 12c 이상 예시 SELECT a.empno , a.ename , a.job , a.sal , (SELECT ename FROM (SELECT aa.ename FROM emp aa WHERE aa.job = a.job ORDER BY aa.sal DESC) WHERE ROWNUM = 1) AS max_sal_ename FROM emp a WHERE a.job I.. 2024. 3. 24.
[책 리뷰] 아주 희미한 빛으로도 책정보 도서명 : 아주 희미한 빛으로도 저자 : 최은영 구매 가격 : 16,800원 (정가, 도서) 도서 리뷰 이 책은 『아주 희미한 빛으로도』, 『몫』, 『일 년』, 『답신』 , 『파종』 , 『이모에게』 , 『사라지는, 사라지지 않는』 이라는 총 7편의 소설을 묶어내어 7가지 이야기로 독자에게 메시지를 전달하는 소설이다. 이 책은 살면서 주변의 다양하게 일어날 수 있는 복잡미묘한 관계나 사회적 이슈들을 자연스럽게 녹여내며, 주인공들에게 감정이입 되도록 잘 풀어내 휴머니즘을 재대로 느낄 수 있었던 소설이었다. 『아주 희미한 빛으로도』에서는 주인공인 희원과 영어 강사이던 그녀와의 이야기이다. 직장을 그만두고 시작할 새로운 길을 먼저 당당하게 걸어가고 있는 그녀를 동경하고 등불이 되었으면 하는 바람이 있었지.. 2024. 3. 24.
[SPRING] JPA(Java Persistence API)이란? JPA (Java Persistence API) 란 무엇인가? Java 객체와 관계형 데이터베이스 간의 매핑을 위한 API이다. EJB 3.0에서 하이버네이트를 기반으로 만든 새로운 자바 ORM (Object-Relational Mapping) 기술 표준이다. JPA의 접근 방식은 ORM(Object-Relational Mapping)을 구현하는 자바 표준 스펙이며, Java 개발자가 좀 더 객체지향 관점에서 개발할 수 있게 하고, 개발을 용이하게 해주어서 DB와 Java 간의 불일치 해소해준다. 개발자가 객체지향 프로그래밍 언어에서 사용하는 객체 모델과 관계형 데이터베이스의 테이블 간의 매핑을 자동 처리 MyBatis와 같이 SQL 문과 Java 코드를 연계하는 접근 방식이 아니라 Java 객체와 DB.. 2024. 3. 24.
[ORACLE] 전역 임시 테이블 (Global Temporary Table) ORACLE 전역 임시 테이블 (Global Temporary Table) 기능에 대해 살펴보자. [ 정의 ] 전역 임시 테이블 (Global Temporary Table)의 경우 영구적인 정보가 아닌 일시적인 중간 데이터가 필요할 때 사용한다. CREATE GLOBAL TEMPORARY TABLE TEMP_TABLENAME ( ID VARCHAR2 (20), NAME VARCHAR2 (20) ) ON COMMIT [PRESERVE/DELETE] ROWS [ 특징 ] 테이블 정의는 모든 세션에서 볼 수 있으나, DATA는 세션 별로 독립적 (특정 세션 임시 테이블 DATA는 다른 SESSION에서 접근 불가) 옵션(PRESERVE/DELETE)에 따라 데이터 유지기간이 다르다. ON COMMIT PRES.. 2024. 3. 9.
[책 리뷰] 도둑맞은 집중력 책정보 도서명 : 도둑맞은 집중력 - 집중력 위기의 시대, 삶의 주도권을 되찾는 법 저자 : 요한 하리 구매 가격 : 18,800원 (도서) 도서 리뷰 요즘 서점에 가서 책을 보다보면 집중력, 몰입, 도파민, ADHD 와 같은 단어들을 쉽게 찾아볼 수 있다. 그만큼 나를 비롯한 대부분의 사람들이 집중하거나 몰입하는데에 어려움을 느끼고 관심을 갖는 것 같다. 나도 어렸을 때와 비교해 집중력이 많이 부족해졌다는 생각이 들던 차에 "도둑맞은 집중력"이라는 제목에 눈길이 가 책을 읽게 되었다. 결론부터 말하자면 이 책에서는 다른 자기계발서처럼 내가 집중력을 찾기 위한 명쾌한 답을 내려주지는 않는다. 다만 보통의 많은 책들처럼 개개인에게 근본적인 원인이 있고, 습관이나 생활 등을 고쳐서 문제를 해결하기보다는 현 .. 2024. 3. 6.
[SPRING] 로그인 및 회원 관리(등록, 수정, 삭제) 기능 예시 ※ 로그인 및 회원 관리(등록, 수정, 삭제) 기능 [사용 테이블] CREATE TABLE bt_login_session ( session_id character varying(255) NOT NULL, user_id character varying(20) NOT NULL, user_ip character varying(20), user_agent character varying(255), create_date timestamp without time zone, expired_date timestamp without time zone ); CREATE TABLE bt_sys_user_mgt ( user_id character varying(20) NOT NULL, user_pwd character var.. 2024. 3. 3.
[JAVA] 문자열 Byte로 자르기 문자열을 지정된 Encoding으로 Byte Size만큼 자르는 메서드 - '\n' 값이 없을 경우 Byte Size 로 Split - Byte Size 내의 가장 가까운 '\n' 값을 기준으로 Split - '\n\n' 값이 있을 경우 강제 Split /** * 문자열을 지정된 Encoding으로 Byte Size만큼 자르는 메서드 * @param raw 문자열 * @param len 자를 Byte Size * @param encoding 문자열의 인코딩 방법 ex) UTF-8, EUC-KR, CP949 * @return String[] len에서 지정한 크기로 자른 문자열 결과값을 배열로 반환 */ public static String[] parseStringByBytes(String raw, int.. 2024. 3. 3.
[HTML] 웹 접근성(Web Accessibiliy)을 고려한 tabindex 속성 현업에서 일을 하다 보면 소비자(Customer)를 대상으로 한 Web 기반의 Service를 제공하는 개발 업무를 수행할 때, 웹 접근성(Web Accessibiliy)을 고려하여 개발하는 경우가 대부분이다. 그 때 웹 접근성을 개선하는 여러 방법이 있는데, 그 중에서도 키보드 접근성을 통한 개선 방법이 있고, 키보드만으로도 Tab 키, Enter 키 등을 활용하여 원하는 정보로 접근할 수 있도록 서비스를 제공할 수 있다. 활용하는 것이 HTML 속성 중의 하나인 tabindex 이다. ※ 정보통신접근성(Web접근성)이란? 정보통신접근성 (Web 접근성)은 「지능정보화기본법」에 따라 장애인이나 고령자분들이 웹 사이트에서 제공하는 정보를 비장애인과 동등하게 접근하고 이용 할 수 있도록 보장하는 것으로 웹.. 2024. 3. 3.
[JAVASCRIPT] Calendar 달력 구현하기 2024. 3. 3.
반응형