본문 바로가기

[개발] Programming/Database26

오라클 한글 바이트 수 조회 (length, lengthb 차이점) 오라클에서 한글 바이트 수를 구해야 될 케이스가 발생합니다. 이때 오라클 내장 함수로 체크할 수 있는 방법이 있어 소개해 드리겠습니다. 참고로 오라클에서 인식하는 한글이나 다국어(영어가 아닌)의 바이트 수는 UTF-8, UTF-16, EUC-KR 등의 인코딩 방식에 따라 달라집니다. 때문에 DB 컬럼 사이즈가 동일해도 인코딩 방식에 따라 저장할 수 있는 글자수가 달라지게 됩니다. 확실하게 저장 가능한 한글 수를 체크하려면 바이트를 직접 비교하면 되는데, 이때 오라클 내장함수 lengthB() 를 사용하면 됩니다. length()는 단순히 글자수만 반환하기 때문에 부정확합니다. 1 2 3 4 SELECT LENGTH('한국 서울') AS 한글_LENGTH, LENGTHB('한국 서울') AS 한글_LENG.. 2024. 2. 15.
오라클 날짜 계산 방법과 예제 정리 오라클에서 쿼리로 날짜를 연산하는 방법은 다양하지만, 그중에서 쉽게 계산하고 비교할 수 있는 방법을 정리해 봤습니다. 01 오라클 현재 날짜, 시간 현재 날짜와 시간을 구하는 건 두 가지 방법이 있는데, 가장 흔하게 사용하는 건 SYSDATE 입니다. 결제나 예약처럼 밀리세컨드 단위까지 봐야 한다면, SYSTIMESTAMP를 사용하면 됩니다. 1 2 3 4 SELECT SYSTIMESTAMP, SYSDATE FROM dual ; cs 현재 시간은 필요 없고, 날짜만 구하고 싶다면 형변환을 해주면 됩니다. 1 2 3 4 5 6 SELECT TO_CHAR(SYSDATE, 'YYYYMMDD'), -- 20231110 으로 표시 TO_CHAR(SYSDATE, 'YYYY.MM.DD'), -- 2023.11.10 .. 2023. 11. 10.
오라클 INSERT 문 사용 방법과 예시 (DB 데이터 저장) 오라클 INSERT 문 오라클 쿼리 문 중 데이터를 테이블에 저장하는 INSERT 문법에 대해 소개하겠습니다. 자주 쓰이는 쿼리 문법이다 보니 앞으로 사용할 일이 많으실 겁니다. 구체적인 사례와 주의 사항을 통하여 알아보겠습니다. 오라클 INSERT 문법 오라클 (MSSQL 동일) INSERT 문은 아래와 같습니다. 'INSERT INTO' 뒤에 입력한 테이블 명이 오고, 실제 컬럼을 나열하고 마지막에 값을 입력하면 됩니다. 컬럼의 순서와 VALUES에 오는 값의 순서는 동일해야 합니다. INSERT INTO '테이블 명' ( 컬럼1, 컬럼2, 컬럼3 ... ) VALUES ( 값1, 값2, 값3 ... ) ; 편리하게 컬럼 명을 생략하여 사용할 수도 있는데, 마찬 가지로 VALUES에 오는 값의 순서는.. 2022. 12. 20.
DELETE 쿼리 (오라클, MSSQL) 사용 방법, 주의 사항 DB DELETE 쿼리 쉬운 쿼리지만 실수하면 장애를 유발할 수 있는 delete(삭제) 문에 대해 알려드리겠습니다ㅎㅎ 대부분 DB가 동일한 delete 쿼리문을 사용하니 알아두시면 유용할 것입니다. 아래 데이터를 예로 쿼리 사용법을 예시와 함께 설명하겠습니다. 테스트용 테이블 StudentGradeTBL name studentNo grade 홍길동 S01 A 홍길동 S02 B 정길동 S03 B 김길동 S04 C 박길동 S05 F 01 오라클 DELETE 쿼리 DELETE 쿼리 문법 : DELETE FROM 테이블명 WHERE 조건 ; DELETE 쿼리 사용 예시 : DELETE FROM StudentGradeTBL WHERE studentNo = 'S05' ; 쿼리 해석 : 삭제 쿼리 문법은 테이블 명.. 2022. 11. 8.
MS SQLServerException: 문자열이나 이진 데이터는 잘립니다 - 해결 방법 MS SQL ServerException : 문자열이나 이진 데이터는 잘립니다 위 오류는 MS SQL에 쿼리를 실행할 때 발생할 수 있는 오류입니다. 원인은 쿼리에 파라미터를 설정할 때 컬럼의 길이보다 큰 값이 들어오기 때문. 간단하게 해결할 수 있는 오류인데, 오류 문구에 컬럼 명이라도 알려줬으면,, 예를 들면, tempTable에 컬럼이 AAA[10], BBB[3], CCC[50] 가 있다고 했을 때, AAA 컬럼에 길이가 10이 넘는 문자나 숫자가 들어오면 위 오류가 발생한다. 해결 방법은, 파라미터로 들어오는 문자를 사전(DOA)에 자르던가, 아니면 alter 쿼리를 통해서 AAA 컬럼의 사이즈를 늘려주면 된다. 끝~! 2022. 8. 10.
데이터베이스 뷰의 의미와 만드는 방법, 장단점 (DB View table) 데이터베이스 뷰(View)란? DB에서 뷰는 하나 또는 그 이상의 테이블을 조인하여 만든 새로운 가상 테이블을 의미한다. 실제로 테이블을 생성한 건 아니지만, 사용자에게는 실존 테이블과 동일하게 사용된다. (뷰를 가지고 새로운 뷰를 만들 수도 있다.) 이는 주로 특정 정보만 제공하고 싶은 경우나 복잡한 쿼리를 가상 테이블로 만들어 간편하게 활용할 수 있어 업무에서도 자주 이용하는 기능이다. 예를 들어 자세히 설명하자면, 두 개의 테이블이 있다고 가정하자. memberInfo, PaymentHist. 개발자가 회원 별 결제 이력을 조회하고 싶은데, 회사 규정상 민감한 개인정보는 제공하고 싶지 않은 경우 뷰를 만들어서 제공하면 된다. 테이블 memberInfo에 있는 민감한 개인정보가 담긴 컬럼을 제외하고 .. 2022. 2. 3.
dbeaver 오라클 디비 연결 오류 - Error resolving dependencies Maven artifact.. mysql, maria, 오라클, 몽고 등등 수많은 디비를 비교적 쉽게 접속할 수 있는 디비버 클라이언트, 그런데 가끔 접속 오류가 발생해서 짜증 나게 할 때가 있다.. 이유는 바로 디비 드라이버를 찾지 못하고 다운로드도 못하기 때문. 그래서 오늘은 해결 방법을 소개하겠습니다. 필자가 오라클 디비 접속(Test Connection)을 시도하면 아래와 같이 오류가 발생한다. 'maven:/com.oracle.database.xml:xmlparserv2:RELEASE' not found Maven artifact 'maven:/com.oracle.database.xml:xmlparserv2:RELEASE' not found 또는 Error resolving dependencies Maven artifact .. 2021. 5. 25.
iBatis 에서 if else 처럼 사용하는 조건문 iBatis 조건문 사용하는 방법 아이바티스에서 사용할 수 있는 비교문이나 조건문은 isEmpty와 isEqual이 있다. isEmpty는 null 일 경우에 사용하고 isNotEmpty는 not null 일 경우에 사용하면 된다. isEqual은 if 문에 '==' 조건처럼 사용하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1. NULL 일 경우 -- null 일 때 -- not null 일 때 2. IF, ELSE 사용 -- true 일 때 -- false 일 때 Colored by Color Scripter cs 위에서 property에는 map으로 넘긴 파라미터이고, compareValue에는 비교할 값을 넣어주면 된다. 위에서는 true/false를.. 2020. 11. 18.
java.sql.SQLException: ORA-12899 열에 대한 값이 너무 큼 - 해결 방법 ORA-12899 오류 해결, 예방 방법 해당 오라클 오류는 '열에 대한 값이 너무 큼'이라고 친절하게 알려준다. 오라클 오류 중에 어쩌면 가장 쉽게 해결 가능한 오류인데, insert나 update할 테이블(오브젝트)의 칼럼보다 전달한 파라미터의 크기가 더 큰 경우에 발생한다. 1. 화면단에서 길이 제어 해결방법 중에 가장 쉬운 방법은 웹일 경우 화면단에서 데이터 길이를 미리 검사하는 것이다. 예1) 스크립트에서 길이를 검사하는 방법 var tmp = '검사할 데이터'; if(tmp.length > 제한할 길이){ alert("입력 길이가 너무 길어염."); return false; } 예2) input 태그에 maxlength를 설정해주는 방법 나이 : 이름 : 2. 컨트롤러 단에서 길이 제한 API.. 2020. 8. 22.