반응형 개발이야기236 [PostgreSQL] DATE_PART 함수 사용법, 예제, 활용하기 PostgreSQL은 날짜와 시간 데이터를 다룰 때 유용한 함수들을 제공합니다. 그중 DATE_PART 함수는 날짜나 시간 데이터에서 특정 부분(연도, 월, 일 등)을 추출하는 데 사용됩니다. 이 함수는 데이터 분석, 보고서 생성, 그리고 시간 관련 쿼리 작성 시 매우 유용합니다.1. DATE_PART 함수의 기본 문법DATE_PART('필드', 소스)-필드(field): 추출하고자 하는 날짜 또는 시간의 구성 요소입니다. 예: 'year', 'month', 'day', 'hour', 'minute', 'second' 등. -소스(source): 날짜 또는 시간 데이터입니다. DATE, TIMESTAMP, TIMESTAMPTZ와 같은 데이터 유형을 지원합니다.-예시SELECT DATE_PART('.. 개발이야기/PostgreSQL 2025. 2. 5. [PostgreSQL] json_build_object, json_agg 사용법, 예제, 활용하기 (JSON Functions) PostgreSQL은 JSON 데이터를 효율적으로 처리할 수 있는 기능을 제공합니다. json_build_object와 json_agg는 JSON 데이터를 생성하고 집계하는 데 매우 유용합니다. 이 글에서는 두 함수를 사용하는 방법과 예제를 통해 이를 이해하는 데 도움을 드리겠습니다. 1. json_build_object: JSON 객체 생성 -json_build_object 함수는 키-값 쌍으로 구성된 JSON 객체를 생성합니다. 키와 값은 동적으로 설정할 수 있으며, 다양한 데이터 타입을 지원합니다. 1) 사용법json_build_object(key1, value1 [, key2, value2, ...]) 2) 예제 1: 단순 JSON 객체 생성SELECT json_build_object('name.. 개발이야기/PostgreSQL 2025. 1. 14. [Java] replace, replaceAll 메서드 사용법, 차이점, 예제 Java에서 문자열을 처리할 때 자주 사용하는 메서드 중 두 가지가 바로 replace와 replaceAll입니다. 두 메서드는 문자열 내에서 특정 부분을 대체하는 데 사용되지만, 동작 방식과 적용 범위에서 차이가 있습니다. 이 글에서는 두 메서드의 차이점, 사용법, 그리고 예제 코드를 통해 이해를 돕겠습니다.1. replace 메서드 replace 메서드는 문자열에서 특정 문자 또는 문자열을 찾아서 대체합니다. 정규 표현식을 지원하지 않고, 단순히 지정된 값으로 대체하는 역할을 합니다. public String replace(CharSequence target, CharSequence replacement)-replace는 정규 표현식을 지원하지 않습니다. -대체할 문자열과 대체될 문자열을 그대로 사용.. 개발이야기/Java 2024. 12. 5. [PostgreSQL] division by zero 에러 해결하기 (CASE문, NULLIF, COALESCE) division by zero 오류는 SQL 쿼리에서 숫자를 0으로 나누려고 시도할 때 발생하며, 데이터 무결성과 애플리케이션의 안정성을 위협할 수 있습니다. PostgreSQL과 같은 관계형 데이터베이스 관리 시스템(RDBMS)에서는 이러한 상황을 감지하고 에러를 발생시켜, 예상치 못한 계산 오류나 시스템 중단을 방지합니다. 아래 예제 쿼리는 division by zero를 오류를 해결하기 위해 CASE문, NULLIF, COALESCE를 사용했습니다. division by zero0으로 나누기를 시도할 때 발생ERROR: division by zeroSQL state: 22012 -에러 메시지: "division by zero" - 0으로 나누기를 시도했음을 나타냅니다. -SQL 상태 코드:.. 개발이야기/PostgreSQL 2024. 8. 2. [MySQL] COALESCE 사용법, 예제, 활용하기 (NULL 치환) COALESCE 함수COALESCE 함수는 SQL에서 주어진 여러 표현식 중 첫 번째로 NULL이 아닌 값을 반환하는 함수입니다. 여러 값 중에서 NULL이 아닌 값을 선택할 때 유용하며, 모든 표현식이 NULL일 경우 NULL을 반환합니다. 사용방법COALESCE(expression1, expression2, ..., expressionN); -expression1, expression2, ..., expressionN 은 평가할 표현식들입니다.-위 표현식들은 컬럼 이름일 수도 있고, 다른 함수의 결과일 수도 있으며, 고정된 값일 수도 있습니다.-COALESCE 함수는 가장 첫 번째로 NULL이 아닌 값을 반환합니다.-만약 모든 표현식이 NULL이라면, COALESCE 함수는 NULL을 반환합니다. .. 개발이야기/MySQL 2024. 8. 1. [PostgreSQL] ORDER BY 특정 순서로 먼저 정렬 하기 (ORDER BY CASE WHEN, ORDER BY CASE WHEN IN 아래 예제 쿼리는 PostgreSQL에서 ORDER BY를 활용한 다양한 정렬 방법을 작성해 보았습니다. ORDER BY 절을 사용하면 단순한 오름차순 및 내림차순 정렬뿐만 아니라 다양한 조건에 따라 데이터를 정렬할 수 있습니다. 조건부 정렬, 특정 순서로 정렬, NULL 값을 먼저 또는 나중에 정렬은 알아두면 좋은 쿼리입니다. 테이블 조회select num, id, name from scheduler.tbl_test tt 조건부 정렬SELECT num, id, name FROM scheduler.tbl_test tt ORDER BY CASE WHEN num IN (2, 3, 1, 6, 7) THEN 1 ELSE 2 END, -- 조건에 따라 그룹화 num; -- 기본 정렬 -CASE WHEN num I.. 개발이야기/PostgreSQL 2024. 7. 17. [Java] enum(Enumeration) 사용방법, 예제, 활용방법, 장점 enum은 열거형(Enumeration)의 줄임말로, Java에서는 특정한 상수 집합을 정의하는 데 사용됩니다. 여러 개의 관련된 상수들을 한 곳에 모아서 정의하고 사용할 수 있게 해주는 구조입니다. enum은 코드를 더 읽기 쉽고 유지보수하기 쉽게 만들어줍니다. enum의 특징-상수 집합: enum은 관련된 상수들을 한 곳에 모아 정의합니다. 상수는 고유의 이름을 가집니다. -정의된 상수 외의 값 사용 불가: enum에 정의된 상수 외의 값을 직접 설정할 수 없습니다. -강력한 타입 체크: 컴파일 시간에 enum 타입의 변수가 정의된 상수 중 하나여야 함을 보장하여 타입 안정성(type safety)을 높입니다. -추가적인 메서드와 필드 포함: 상수는 생성자, 메서드, 필드를 가질 수 있어서 보다 복.. 개발이야기/Java 2024. 7. 3. [Java] Stream(스트림) API 사용방법, 예제 아래 예제 코드는 Java Stream API를 사용하여 데이터를 변환하고 필터링하는 다양한 방법을 작성하였습니다. Stream API를 사용하면 컬렉션 데이터를 함수형 스타일로 간결하게 처리할 수 있습니다. Java Stream APIJava 8에서 도입된 기능으로, 데이터 컬렉션을 처리하고 변환하는 효율적이고 간결한 방법을 제공합니다. Stream API를 사용하면 데이터를 필터링, 매핑, 집계, 정렬, 그룹화 등 다양한 작업을 함수형 스타일로 수행할 수 있습니다. 스트림은 데이터를 처리하는 데 있어 선언적 접근 방식을 제공하며, 컬렉션의 요소를 하나씩 처리하는 반복적 코드를 작성할 필요 없이 데이터를 다룰 수 있게 해 줍니다. Stream의 주요 특징-선언적 프로그래밍: 스트림은 무엇을 할 것.. 개발이야기/Java 2024. 7. 2. [Java] @JsonProperty, @JsonFormat, @JsonIgnore 사용방법, 예제 (Jackson 어노테이션) 아래 소스코드는 Jackson 어노테이션(@JsonProperty, @JsonFormat, @JsonIgnore)의 예제를 보여드리기 위해 자바 객체를 JSON으로 직렬화하고, JSON을 자바 객체로 역직렬화하고 있습니다. TestUserDto 클래스는 JSON 데이터와 자바 객체 간의 매핑을 쉽게 처리할 수 있도록 Jackson 어노테이션을 사용하고 있습니다. Jackson 어노테이션1. @JsonProperty -특정 필드의 JSON 속성 이름을 명시적으로 지정하는 데 사용됩니다. 2. @JsonFormat -날짜나 시간 형식을 지정하는 데 사용됩니다. 날짜 필드를 특정 형식으로 직렬화하거나 역직렬화할 수 있습니다. 3. @JsonIgnore -특정 필드를 JSON 직렬화 및 역직렬화에서 무시하도록.. 개발이야기/Java 2024. 6. 18. [자바스크립트] 개인정보 마스킹하기 (이름, 휴대번호, 이메일, 주소, 계좌번호, 은행, 연도, 월) 아래 소스코드는 JavaScript에서 개인 정보를 마스킹하고 원본 데이터와 마스킹된 데이터를 콘솔에 출력하는 예제입니다. 데이터 유형에 대해 마스킹을 수행하는 함수를 정의하고, 데이터 형식에 따라 부분적으로 정보를 숨기도록 하였습니다. 마스킹 함수 -maskName: 이름의 첫 글자만 남기고 나머지를 *로 대체합니다. -maskPhoneNumber: 전화번호의 중간 4자리를 ****로 대체합니다. -maskEmail: 이메일 주소의 사용자 부분을 마스킹합니다. -maskAddress: 주소의 첫 단어를 제외하고 나머지를 *로 대체합니다. -maskBankName: 은행 이름의 첫 글자만 남기고 나머지를 *로 대체합니다. -maskAccountNumber: 계좌 번호의 중간 8자리를 ****-****로 .. 개발이야기/자바스크립트 2024. 6. 10. [Java] 로그(log) 파일 만들기 (Logger 클래스 사용) 아래 예제 코드는 Logger 클래스를 사용하여 지정된 경로에 로그 파일을 만들고 Logger 설정을 통해 로그 레벨에 따라 메시지를 기록하는 코드입니다. Logger는 java.util.logging 패키지에서 제공하는 클래스이며, 로그 메시지를 기록하고 관리하는 데 사용됩니다. Logger는 다양한 로그 레벨을 지원하여 애플리케이션의 상태나 오류 등을 기록할 수 있게 해줍니다. 1. Logger 생성private static final Logger logger = Logger.getLogger(클래스명.getName()); -Logger 객체는 Logger.getLogger 메서드를 사용하여 생성합니다. 이 메서드는 주어진 이름을 가지는 로거를 반환합니다. 2. 로그 레벨 (Log Levels)-SE.. 개발이야기/Java 2024. 5. 23. [Java] 문자열에서 숫자만 추출하기 (메서드, 예제코드) 아래 소스코드는 문자열에서 숫자를 추출하여 정수로 변환하는 메서드를 구현하는 간단한 예제코드입니다. 1. parseInt 메서드-입력받은 문자열이 null이거나 빈 문자열인지 확인합니다. null 이거나 비어 있으면 0을 반환합니다. -문자열을 한 글자씩 순회하면서 각 문자가 숫자인지를 확인합니다. Character.isDigit(ch)를 사용해서 현재 문자가 숫자라면, 그 문자를 문자열 numStr에 추가합니다. numStr에는 문자열에서 추출된 숫자들만이 저장됩니다. -numStr이 비어 있지 않다면, Integer.parseInt(numStr.toString())를 사용하여 numStr을 정수로 변환합니다. 2. main 메서드-예제 데이터 설정: data1, data2, data3, data4.. 개발이야기/Java 2024. 5. 16. 이전 1 2 3 4 ··· 20 다음 반응형