반응형

전체 글 723

벡터에서 값을 추출할 때 NA(Missing Value)와 NULL의 처리

> ex ex[ex ex[ex %% 2 == 0] [1] NA 12 ex 벡터에 미싱넘버를 추가하면 값을 추출할 때 항상 딸려나온다. 미싱 넘버는 말 그대로 무슨 값인지 모르는 값이다. 결측치다. 10보다 작은 수를 추출할 때 미싱넘버가 10보다 작을지 아닐지 모르니까 일단 추출할 때 포함시킨다. 짝수를 추출할 때 미싱넘버가 짝수일지 아닐지 모르니까 일단 추출할 때 포함시킨다. 때문에 미싱넘버가 섞인 벡터에서 미싱넘버를 제외하고 데이터를 추출하고 싶다면 이런 조건을 붙여야 한다. > ex[ex %% 2 == 0 & !is.na(ex)] [1] 12 이렇게 미싱넘버를 제하고 추출하도록 하면 정상적으로 짝수만 출력된다. 이번엔 벡터에 미싱넘버가 아니라 널 값을 줘보자..

프로그래밍/R 2023.03.16

[오라클 SQL과 PLSQL] 79p SUBSTR/INSTR 퀴즈

select initcap(name) name, tel tel, substr(tel, 1, instr(tel, ')') -1) "AREA CODE" from student where deptno1 = 201; 풀이과정 1. name 열에 첫글자가 대문자니까 initcap() 함수를 이용해 name을 출력. 2. tel 은 따로 손댈 거 없으니 그대로 출력 3. 지역번호는 전화번호의 ')' 이전까지의 문자를 추출해야함. 문자열에서 지정한 시작 위치부터 n글자를 추출 가능한 substr() 함수를 이용해야함. 4. substr() 로 추출한 문자열은 tel. 시작 위치는 첫번째 문자부터 ')' 이전이니까 1. ')' 이전의 위치를 알아내려면 특정 글자의 위치를 알아내는 instr 함수가 필요함. ')'를 찾..

dual 테이블이란?

Oracle 데이터베이스에서 dual 테이블은 DUMMY 열(column)을 가진 테이블입니다. 이 테이블은 실제 데이터를 저장하지 않으며, 시스템 카탈로그 테이블(system catalog table) 중 하나입니다. dual 테이블은 존재하는 것이지만, 개발자나 DBA가 직접 생성, 수정, 삭제할 수 없습니다. dual 테이블은 일반적으로 다음과 같은 용도로 사용됩니다. 1. SELECT 문에서 리터럴 값을 검색하기 위해 사용합니다. SELECT 'Hello, World!' FROM DUAL; 2. 현재 날짜와 시간을 가져오기 위해 사용합니다. SELECT SYSDATE FROM DUAL; 3. 함수의 결과를 검증하기 위해 사용합니다. SELECT UPPER('hello') FROM DUAL; dua..

ANSI SQL과 다른 SQL 구현체들의 차이점

1. ANSI SQL이란? 안시(ANSI)는 오라클에서 개발한 데이터베이스 관리 시스템으로, 오라클 SQL을 기반으로 합니다. 따라서, 오라클 SQL과 안시는 매우 유사한 문법과 기능을 가지고 있습니다. 하지만, 안시는 오라클의 기술과 노하우를 기반으로 개발된 데이터베이스 관리 시스템으로, 특히 대용량 데이터 처리 및 고급 보안 기능 등에 높은 성능을 보여줍니다. 또한, 안시는 애플리케이션 개발, 운영 및 유지보수에 필요한 다양한 도구와 기능을 제공하여 개발자들이 보다 효율적으로 작업할 수 있도록 지원합니다. 반면, 다른 SQL 구현체들은 각자의 특성과 장단점을 가지고 있으며, 기업의 크기, 예산, 데이터 처리 양, 보안 요구 사항 등에 따라 선택할 수 있습니다. MySQL는 가벼운 웹 애플리케이션에서 ..

select 명령에서 컬럼 별칭 사용하여 출력하기

컬럼을 출력할 때 컬럼의 원래 이름 대신 별명을 사용할 수 있다. 아래 코드와 그림을 보자. select profno "Prof 'NO'", name AS "Prof's NAME", pay Prof_Pay from professor; 위의 코드에서 설정한대로 컬럼의 이름 대신 별명이 출력됐다. 이 기능을 컬럼 별칭(Column Alias)이라고 부른다. 이 기능을 쓰는 방법은 두가지다. 1. 컬럼 이름 뒤에 공백을 주고 별명을 쓰기. profno "Prof 'NO'" 2. 컬럼 이름 뒤에 AS 라는 키워드를 사용한 후 별명을 쓰기. name AS "Prof's NAME" 기능상 차이는 없이 똑같이 출력되므로 편한 방법을 쓰면 된다. 또한 별명을 만들 때 대소문자를 구분하고 싶다면 반드시 큰따옴표( "" ..

select 명령의 표현식 사용법

표현식은 컬럼 이름 이외에 출력하기를 원하는 내용을 의미하며 select 구문 뒤에 작은따옴표( ' ' )로 묶어서 사용하면 된다 select dname , ', it''s deptno : ', deptno "DNAME AND DEPTNO" from dept; 위 코드는 [ , it''s deptno : ] 를 작은따옴표로 묶었다. 이 부분을 '표현식'이라고도 하고 '리터럴(literal) 상수(문자)' 라고 부르기도 하는데 보통 리터럴이라고 많이 부른다. 위의 코드에서는 it다음에 작은따옴표를 두개 썼는데 리터럴로 작은따옴표를 출력하기 위해서는 작은따옴표를 하나 더 붙여야한다. 위의 코드의 결과를 보자 컬럼의 내용을 보면 정상적으로 , it's deptno : 가 출력됐다. 컬럼 이름 부분의 따옴표 두..

오라클 SQL과 PL/SQL 1장 연습문제 풀이

연습문제 1 정답: select name || ' ''s ID : ' || id || ', ' || 'WEIGHT is ' || weight AS "ID AND WEIGHT" from student; 연습문제 2 정답: select ename || '(' || job || ')' || ', ' || ename || '''' || job || '''' AS "NAME AND JOB" from emp; 따옴표 출력할 때 '''' 으로 4번 연속 출력해야 함. https://gent.tistory.com/523 [Oracle] 문자열에 따옴표를 포함하는 2가지 방법 오라클에서 문자열 문자열을 나타낼 때 작은따옴표(홑 따옴표, 싱글 쿼터)를 사용하기 때문에 문자열 내부에 작은따옴표를 넣기 위해서는 추가적인 작업..

반응형