728x90

메세지

ORA-01441: cannot decrease column length because some value is too big

 

원인

넣을려는 곳의 정해진 자료형의 값보다 큰 값을 넣을려고 해서 발생

크기 수정할 때는 안에 데이터의 크기가 어떤지를 보고 수정해야함

ALTER TABLE DEPT_COPY
MODIFY DEPT_TITLE VARCHAR2(10);
-- ORA-01441: cannot decrease column length because some value is too big
-- 크기 수정할 때는 안에 데이터의 크기가 어떤지를 보고 수정해야함

 

728x90
반응형
728x90

메세지

ORA-01841: (full) year must be between -4713 and +9999, and not be 0

 

원인

컬럼명의 순서를 바꿔서 들어갈 수 없는 데이터 형식이 넣어졌기에 에러발생

 

상황

테이블의 모든 컬럼에 값을 넣을 때는 컬럼명 명시를 생략 가능하여 해보던 중

해결 컬럼명을 명시하는 경우에는 명시한 순서를 따라 데이터를 넣으면 되고, 생략 시에는 테이블에 있는 컬럼명 순서을 따라야 한다

 

-- 테이블의 모든 컬럼에 값을 넣을 때는 컬럼명 명시를 생략 가능            
-- INSERT 시, 컬럼명을 생략하려면 테이블에 있는 컬럼 순서를 정확히 지켜서 넣어야 함
INSERT INTO EMPLOYEE -- 컬럼명 명시부분 삭제
VALUES(900,'강건강','990311-1451201','kang_kk@kh.or.kr','01011112222',
        'D1','J7','S3',4300000,0.2,200,SYSDATE,'N',NULL);            
-- ORA-01841: (full) year must be between -4713 and +9999, and not be 0
-- 원인 : ENT_YN,ENT_DATE의 순서를 바꿔서 에러발생
-- 컬럼명을 명시하는 경우에는 명시한 순서를 따라 데이터를 넣으면 되고, 
-- 생략 시에는 테이블에 있는 컬럼명 순서을 따라야 한다
728x90
반응형
728x90

 

JAVA 제어문 - 5. == vs equals

== equals 차이점 알아볼

 

 

자바의 데이터타입 두가지

구분하는 이유 : 기본형(primitive) 아닌 것을 자바가 차이를 두기 때문

 

 

1.primitive (원시 데이터타입)

boolean, int, double, short, long, float, char

 

2.non primitive

String, Array, Date, File…

 

 

자바가 타입을 어떻게 차별하고 뭐가 다른지를 알아보자

 

같은 1 value값이기에 다른 곳에 저장하면 낭비니 p1 1 값이 저장된 곳에 1 값을 똑같이 p2 끌어오게 자바에서는 처리한다

이때 같은 곳을 가리키고 있냐고 알아보는 것이 ==이고 결과값은 true 나온다.

 

 

위에 처럼

String o1 = new String("java");
String o2 = new String("java");

둘이 값은 같은데 == 보면 어떨까? false 된다. 같은 값이지만 ==(primitive data type) 같은 곳에 위치하는지 저장됬는지 주소를 보고 판단하기 때문

 

 

그렇다면 equals(non primitive data type)?

o1.equals(o2) 메소드 호출

내용이 같은지 판단하기에 true

 

 

 

원시 데이터 타입(primitive) 때는 동등비교연산자를 쓰면 된다

원시 데이터 타입은 equals 가지고 있지 않기에 쓰면 에러

원시 데이터 타입이 아닌 (non primitive) 때는 equals 써라

 

 

 

예외 : 문자열

(자주사용 편의성 성능 등으로 인한 특혜)

마치 원시 데이터 타입처럼 작동함 : non primitive type이지만 새로운 값을 생성하지 않고, 같은 값의 주소로 처리

String o3 = "java2"
String o4 = "java2"

 

 

== 동등 비교 연산해보면 true

 

 

 

*이 객체와 객체가 같은지 알아볼려면 검색해서 따져봐라

객체라고 하는 것은 복합적인 데이터타입이기 때문에 비교가 쉽지 않기 때문

 



==와 equals의 차이를 더 이해하려면

call by reference와 call by value에 대해 아래 링크에서 좀 더 알아보자

https://rise-up.tistory.com/182

 

 

 

 

 

728x90
반응형
728x90

 

 

 

JAVA1 6.1. 데이터와 연산

 

데이터의 종류(type) 있고 이와 연산이 관련있다

자바에서 어떤 데이터 타입들이 있고 각각 데이터들마다 어떤 연산 방법들이 존재하는지 알아보자

 

 

 

JAVA1 6.2. 데이터 타입

프로젝트 생성

sysout하고 ctrl+space하면 출력코드를 풀로 자동채워준다

System.out.println();

 

숫자 number

문자 String

"" 묶으면 숫자도 문자로 바뀜

ex) System.out.println("6"); // 데이터타입이 str 6

 

System.out.println("1111".length()); // 문자열의 길이를 알려주는 .length()

 

프로그램에서는 데이터별로 타입이 있고 그에 정해진 연산법이 있어서 구분을 해야한다

 

실력을 쌓고 스킬을 올린다는 것은 크게 두가지의 흐름을 갖는다

1.내가 지금 다루는 시스템에는 어떤 종류의 데이터타입이 존재하는가를 알아가는

2.각각의 데이터 타입별로 어떤 연산 방법들이 존재하는가

 

둘을 통해 폭발적인 퍼포먼스가 발생

 

 

 

 

JAVA1 6.3. 숫자와 연산

클래스 생성 : 우클릭 new-class

 

사칙연산 : + =+- * / 이들을 연산자(operator)라고 부름

 

System.out.println(Math.); 에서 Math.까지 쓰면 이클립스에서는 Math.에서 있는 여러가지 연산방법들을 보여주니 적극 활용할

 

Math.PI : 3.14 blahblah

Math.floor() : () 값을 내림하는 메소드

Math.ceil() :   () 값을 올림하는 메소드

ex) System.out.println(Math.ceil(a));

 

 

 

JAVA1 6.4. 문자열의 표현

큰따옴표와 작은 따옴표의 차이를 알아둘 필요가 있다

다른 언어에서는 '' 감싸던 "" 감싸던 호환이 되지만 자바에서는 에러

'작은 따옴표 Character 나타내며 한글자만

" 따옴표 String 나타내며, 복수의 글자. 한글자도 가능

 

 

줄바꿈하기 : 문자열 사이에 \n 넣기

  - \n : newline이라는 의미

" 출력하고 싶을 경우 \ 붙이기

 ex) hello "world" 출력하고 싶다면

        System.out.println("hello \"world\"");

 

 

이스케이프코드(escape) : \

 

 

 

JAVA1 6.5. 문자열 다루기

.length() : 문자열 개수 세기

.replace( , ) : 문자 바꾸기

 

System.out.println("Hello World".length());  // 결과값 11

System.out.println("Hello, leezhe leezhe leezhe bye".replace("leezche", "egoing"));

System.out.println("Hello, [[[name]]] bye".replace("[[[name]]]", "Mr")); // 대량 이메일 보낼 있음

 

 

 

 

 

 

JAVA1 7. 작심삼일 공학

 

선생님인 이고잉님이 공부를 어떻게 생각하고 수업을 어떻게 만들었는지 전략 소개

1)학생일 전략

낯선 분야를 공부할 작심삼일이 오면, 순간을 '나는 의지가 박약해'라고 생각하지 않고 대신 '공부를 그만하라는 뇌의 명령이다'라고 생각하고 과감하게 진도를 나가지 않고 지금까지 배운 것과 삶의 문제의 접점을 찾기 위해 노력함. 배운 것만으로 여러가지로 쓸모 있다고 뇌에게 증명하기 위해 여기저기 뛰어다님

뇌의 흥분도가 점점 고조되고 다시 공부하라는 명령이 떨어짐. 뇌를 이기는 장사는 없다

 

 

2)선생님일 때의 전략

중도하차하면 아무 것도 없는 무능함에 빠지고, 완주하면 무엇부터 해야될지 모르는 무기력함에 빠진다. 요새 강의를 만들 때는 참여자가 뇌의 명령으로 공부를 그만두어도 지금까지 배운 것만으로도 자신의 문제를 해결할 있는 수업을 만들기 위해 노력. 또한 다시 공부하라는 명령이 뇌에서 떨어지면 다시 공부를 시작할 있도록 노력함

우리가 배우는 수업자체는 하나하나가 그것 자체로 쓸모 있는 수업. 언제든지 공부는 그만하고 일을하고 언제든지 일을 그만하고 공부를 해라.

 

 

728x90
반응형

+ Recent posts