공부의 기록/자바 풀 스택 : 수업내용정리

자바 풀 스택 11/22 오후 기록 002-2

파티피플지선 2024. 11. 22. 17:34

<14:30 5교시> sql 연산 이어서 + 함수 시작

 

sql은 null이라는 값을 아예 비교하지 못 한다. 그래서 null 값을 인식하고 비교하는 명령 대신

null 인 곳을 찾아라/null이 아닌 곳을 찾아라 라는 명령만 가능하다.

그래서 =null 이나 !=null 같은 명령어 대신 is null이나 is not null 명령어를 쓴다.

emp 테이블에서 FORD라는 이름을 가진 사원이 존재하면 사원의 이름과 커미션을 출력하세요. -> exists 안의 select문이 참이기 때문에 모든 row가 select 된다.

 

 

■ LIKE 연산 연습

 

 

 

 

 

 

 

 

■ 오라클에서 제공해주는 여러가지 함수

 

 

 

 

 

■ 문자열 함수

 

 

 

 

<15:30 6교시> 함수의 종류 이어서

숫자열 함수

 

 

 

날짜 함수

sysdate 자리에는 현재 날짜가 들어간다.

오늘로부터 27개월 뒤 같이 계산하기 까다로운 애들을 계산해줌

 

 

 

BETWEEN 으로 묶인 기간의 개월 수 차이를 구해줌

 

 

 

■ 변환 함수(베리베리 임폴턴트!!!!!!!!)

특히 TO_CHAR : 원하는 날짜를 문자열로 바꾸는 거에 특히 많이 쓰인다.

MM은 달, MI가 분! ㅋㅋ

 

 

 

 

오늘의 시간(SYSDATE) 표현하기 완전체

 

 

SQL> create table todo
  2  ( id Number primary key,
  3  content varchar2(20) not null,
  4  regdate Date);

Table created.

SQL> insert into todo
  2  (id, content, regdate)
  3  values(1, '밥 먹기', sysdate)
  4  ;

1 row created.

SQL> insert into todo
  2  (id content, regdate)
  3  values(2, '복습', sysdate);
(id content, regdate)
    *
ERROR at line 2:
ORA-00917: missing comma


SQL> insert into todo(id, content,regdate)
  2  values(2,'복습', sysdate);

1 row created.

SQL> select * from todo
  2  ;

        ID CONTENT                                  REGDATE
---------- ---------------------------------------- --------
         1 밥 먹기                                  24/11/22
         2 복습                                     24/11/22

SQL> select id as "등록번호", content as "내용", regdate as "등록일"
  2  select id as "등록번호", content as "내용", regdate as "등록일" ;
select id as "등록번호", content as "내용", regdate as "등록일"
         *
ERROR at line 2:
ORA-00923: FROM keyword not found where expected


SQL> select id as "등록번호", content as "내용", regdate (sysdate, 'YYYY.MM.DD. AM hh:mi') as "등록일"
 order by id desc;
select id as "등록번호", content as "내용", regdate (sysdate, 'YYYY.MM.DD. AM hh:mi') as "등록일" order by id desc
                                                                                                           *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected


SQL> select id as "등록번호", content as "내용", regdate (sysdate, 'YYYY.MM.DD. AM hh:mi') as "등록일" order by id desc from todo;
select id as "등록번호", content as "내용", regdate (sysdate, 'YYYY.MM.DD. AM hh:mi') as "등록일" order by id desc from todo

     *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected


SQL> select id as "등록번호", content as "내용", regdate (sysdate, 'YYYY.MM.DD. AM hh:mi') as "등록일" from todo order by id desc;
select id as "등록번호", content as "내용", regdate (sysdate, 'YYYY.MM.DD. AM hh:mi') as "등록일" from todo order by id desc
                                                  *
ERROR at line 1:
ORA-00904: "REGDATE": invalid identifier


SQL> select id as "등록번호", content as "내용", regdate to_char(sysdate, 'YYYY.MM.DD. AM hh:mi') as "
등록일" from todo order by id desc;
select id as "등록번호", content as "내용", regdate to_char(sysdate, 'YYYY.MM.DD. AM hh:mi') as "등록 일" from todo order by id desc
                                                                 *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected


SQL> select id as "등록번호", content as "내용", to_char(regdate, 'YYYY.MM.DD. AM hh:mi') as "등록일"
from todo order by id desc;

  등록번호 내용
---------- ----------------------------------------
등록일
------------------------------------------------
         2 복습
2024.11.22. 오후 04:39

         1 밥 먹기
2024.11.22. 오후 04:37


SQL> set linesize 50
SQL> select id as "등록번호", content as "내용", to_char(regdate, 'YYYY.MM.DD. AM hh:mi') as "등록일"
  2  from todo order by id desc;

  등록번호
----------
내용
----------------------------------------
등록일
------------------------------------------------
         2
복습
2024.11.22. 오후 04:39

         1
밥 먹기
2024.11.22. 오후 04:37

  등록번호
----------
내용
----------------------------------------
등록일
------------------------------------------------


SQL> set linesize 500
SQL> select id as "등록번호", content as "내용", to_char(regdate, 'YYYY.MM.DD. AM hh:mi') as "등록일"
  2  from todo order by id desc;

  등록번호 내용                                     등록일
---------- ---------------------------------------- ------------------------------------------------
         2 복습                                     2024.11.22. 오후 04:39
         1 밥 먹기                                  2024.11.22. 오후 04:37

SQL>

 

삽질 엄청나게 한 결과!!!!!!! 크크 성공!!!!

보기 예쁘게 정리하면 요래 된다

 

날짜를 문자로 변환하는 함수 : to_char()  ↔ a문자열을 날짜로 변환하는 함수 : to_date()

 

<17:30 8교시>

오늘 수업 후 할 수 있어야 하는 것들

1. EMP 테이블에서 다양한 SELECT 실습하기

2. 단일행 함수 종류별로 테스트하기

3. 날짜변환 함수 TO_CHAR TO_DATE 연습하기

4. SYSDATE 또는 TO_DATE 함수를 이용해서 TABLE에 날짜 저장하기 연습