728x90
반응형

DB 229

[DB][Mybatis] size() / length()

1.size()적용 대상: Collection 인터페이스를 구현하는 유형(예: List, Set, Map) 또는 객체 java.util.Collection.목적: 컬렉션에 있는 요소의 수를 반환합니다.예:의 경우 List, 호출하면 list.size()목록에 있는 요소의 개수가 나옵니다.의 경우 Map, 호출하면 map.size()키-값 쌍의 개수가 반환됩니다. 0">  2.length적용 대상: 배열( String[], int[], 등).목적: 배열의 요소 수를 반환합니다. 메서드가 아니라 속성이므로 괄호를 사용하지 않습니다.예:a의 경우 String[] array, 호출하면 array.length배열에 있는 요소의 개수가 나옵니다. 0">  주요 차이점특징size()length유형방법 ( ..

DB 2024.11.28

[DB][Oracle] Number(1,0)

Oracle에서 데이터 유형은 NUMBER(1,0)다음과 같은 제약 조건이 있는 숫자 값을 나타냅니다.정밀도( 1) : 숫자는 최대 1자리까지 가능합니다.크기( 0) : 숫자에는 소수 자릿수가 포함될 수 없으며 정수여야 합니다.유효한 값값의 범위는 -9부터 9 (한 자리 정수)까지입니다.유효한 값의 예05-3잘못된 값의 예10(1자리 초과)1.2(소수점 부분이 있음)0이 데이터 유형은 플래그나 부울과 같은 값( 또는 ) 과 같은 작은 정수를 저장하는 데 자주 사용됩니다 . 더 엄격한 값(예: 또는 1)을 적용해야 하는 경우 일반적으로 제약 조건이나 검증을 사용하여 이를 처리합니다.01

DB 2024.11.21

[SQL] 문자열 리터럴에 작은 따옴표를 사용해야 하는 이유

SQL에서 문자열 리터럴은 **작은 인용( ')**로 감싸야 합니다. SQL 표준(SQL-92)에 따르는 규칙이며, 대부분의 데이터베이스 관리 시스템(DBMS)에서도 동일하게 적용됩니다.반면에 **큰 인용( ")**은 일반적으로 **식별자(식별자)**를 감싸는 데 사용됩니다. 예를 들어, 테이블 이름이나 열이 SQL 키워드(예: SELECT, FROM)와 충돌하거나 공백이 포함된 경우 큰 인용할 수 있습니다.구성요소:작은 리터( ') : 문자열 리터럴에 사용SELECT * FROM employees WHERE name = 'John'; 큰 인용( ") : 인용(테이블명, 추적명) 감싸기SELECT "first name" AS full_name FROM employees;

DB 2024.11.14

[Mybatis] 숫자 컬럼인데 값이 0일때 컬럼값 != null and 컬럼값 !='' 을 통과하지 못해서 값이 없는 것으로 처리될때

을 사용해서 안에 컬럼 값이 전부  처리해서 값이 null 이나 빈문자열이 아니면 update 하려고 작성을 하였는데,값이 전부 0 이니까 아무 값도 없는 것으로 나와서 update 문에 SET 이 빠진 것으로 간주되어 에러가 났다.어차피 null 이면 0으로 입력한다는  COALESCE(TO_NUMBER(NULL),0) 으로 작성해 둬서 if문을 다 뺐다. MyBatis에서 `` 문에서 값을 평가할 때 `null`, `""` (빈 문자열), 때로는 `0`과 같은 특정 값이 "falsy"로 동작할 수 있습니다. 즉, 특히 표현식이 부울 검사와 유사한 경우 조건 검사를 통과하지 못합니다. ### MyBatis에서 Falsy 값과 `0`에 대한 설명 **JavaScript**와 같은 프로그래밍 언어에서 `n..

DB 2024.11.03

[DB][MySQL] 날짜+시간 문자열과 날짜문자열 비교하기

SELECT '설치' AS 분류, EO_RQ_TP AS 요청유형, CUST_CD, CT.CUST_NM AS 고객사, CR_CD, CR.CR_SCD AS 고객번호, EO_STAT_TP AS 요청상태, STR_TO_DATE(CONCAT(RQ1_DT, RQ1_TM), '%Y%m%d%H%i') AS 완료요청일 -- 날짜와 시간을 결합하여 변환FROM T_EO JOIN CUSTOMER_TABLE CT ON T_EO.CUST_CD = CT.CUST_CD -- 고객사 정보 JOINJOIN CUSTOMER_RELATION_TABLE CR ON T_EO.CR_CD = CR.CR_CD -- 고객번호 정보 JOINWHERE RS_USER_CD = 로그인유저 -- 로그인한 ..

DB 2024.10.23

[DB][Oracle] 날짜+시간 문자열과 날짜문자열 비교하기

오라클에서 RQ1_DT와 RQ1_TM을 날짜 형식으로 변환한 후 결합하고, CMP_REQ_DT와 동일한 형식으로 비교하기 위해 TO_DATE 함수를 사용할 수 있습니다.RQ1_DT와 RQ1_TM은 각각 YYYYMMDD와 HH24MI 형식의 문자열이므로, 이를 TO_DATE로 변환하여 날짜와 시간을 포함한 형식으로 만듭니다.CMP_REQ_DT는 날짜 정보만 포함하므로 이를 TO_DATE로 변환하여 일관성 있게 처리합니다.SELECT '설치' AS 분류, EO_RQ_TP AS 요청유형, CUST_CD, CT.CUST_NM AS 고객사, CR_CD, CR.CR_SCD AS 고객번호, EO_STAT_TP AS 요청상태, TO_DATE(RQ1_DT || RQ1_TM, ..

DB 2024.10.22

[DB][Oracle] 여러행 삽입하기

INSERT ALL은 Oracle에서 여러 행을 한 번에 다른 행으로 삽입할 때 사용하는 구문입니다. 여러 개의 INSERT 문을 결합하여 단일 트랜잭션으로 처리할 수 있도록 도와줍니다. 이 방식은 한 번에 여러 행을 삽입해야 할 때 매우 유용합니다.INSERT ALL 기본 구조INSERT ALL INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)SELECT 1 FROM DUAL;  주요 요소 설명INSERT ALL:여러 행을 삽입하기 위한 명령어입니다.ALL을 사용하면 조건 없이 모든 데이..

DB 2024.09.29

[DB][Oracle] 컬럼추가, 원하는 위치에 컬럼추가하기

오라클 데이터베이스에서 컬럼을 추가할 때, 컬럼이 원하는 순서로 배치되도록 하는 것은 기본적으로 지원되지 않습니다. 오라클은 컬럼을 추가할 때, 기본적으로 테이블의 마지막에 추가합니다. 그러나 원하는 순서로 컬럼을 배치하고자 할 경우, 다음과 같은 방법을 사용할 수 있습니다:1. 테이블 재생성 (Recreate the Table): 가장 확실한 방법은 새로운 테이블을 만들고 데이터를 이전하는 것입니다. 이 방법은 가장 많은 작업이 필요하지만, 원하는 순서로 컬럼을 배치할 수 있습니다.-- 현재 테이블의 스키마와 데이터 백업CREATE TABLE new_table AS SELECT * FROM old_table WHERE 1=2;-- 새 테이블에 원하는 컬럼 순서로 추가ALTER TABLE new_tabl..

DB 2024.09.05
728x90
반응형