본문 바로가기

[개발] Programming/Database27

오라클 null 체크 함수 NVL, NVL2 사용법과 예제 오라클 NULL 처리 오라클 SELECT 쿼리를 작성하다 보면 null 데이터를 자주 접하게 됩니다.널 일 때 다른 데이터로 치환하고 싶은 경우 간편하게 사용할 수 있는 오라클 내장 함수가 NVL, NVL2 입니다.  NVL은 단순히 null 여부만 판단하여 치환하는 함수인 반면,NVL2는 null 일 경우 조건식을 넣어 decode 함수처럼 사용할 수 있습니다.그럼 예시를 통해 사용 방법을 소개하고 주의사항도 공유드리겠습니다.  [ NVL을 처음 알게 되어 기뻐하는 어느 여성의 모습. ]   오라클 NULL 처리 함수 NVL 기본 형식 : NVL( null 검사할 컬럼 명, null 일 경우 )사용 예시 : AAA가 null 이면 EMPTY 가 출력됩니다.1234567-- NVL( null 검사 할 컬.. 2024. 7. 13.
오라클 한글 바이트 수 조회 (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.