[SQL] CASE WHEN THEN ELSE END

SONGB·2023년 7월 31일
0

SQL

목록 보기
11/13

예전에 다른 게시물을 적으면서 (내 기억엔 DB2와 Oracle을 비교하는 게시글)

https://velog.io/@dhyunee/SQL-Oracle-DB2-%EB%B9%84%EA%B5%90-DB2-%EA%B4%80%EC%A0%90%EC%97%90%EC%84%9C

한 번은 CASE WHEN THEN ELSE END에 대해 정리를 해보겠다고 다짐을 했는데 그게 오늘이다!

지금은 대가리에 힘줘 가 안되니
밥 먹고 와서 해야겠다🍚🍙🍱


SQL에서 CASE 프로그래밍에서 IF문


CASE 문은 조건에 따라 데이터를 가공해 결과로 도출할 수 있다.

=> 조건에 따라 로직을 변경하는 프로그래밍에서 IF문과 상당히 흡사하다.


JAVA

public class Main{
	public static void main(String []args){
    	BufferedReader br=new BufferedReader(
InputStreamReader(System.in));
		
        String a=br.readLine();
        
        if(a.trim().length()>1000){
        	System.out.println(a.trim().substring(0,1000));
        }else{
        	System.out.println(a.trim());
        }
    
    }
}

DB2

SELECT MESSAGE=
	CASE MESSAGE 
    WHEN LENGTH(TRIM(CAST(MESSAGE AS VARCHAR(1000))))>1000
    THEN SUBSTR(TRIM(CAST(MESSAGE AS VARCHAR(1000)),1,1000 ))
    ELSE TRIM(CAST(MESSAGE AS VARCHAR(1000)))
    END
FROM TABLE1;

두 가지를 비교하면서 이해하면 훨씬 쉬울 것이다


CASE에 조건문에서 비교할 컬럼을 설정해주고

WHEN에 조건문을 작성해준다.

그리고 THEN은 반환값을 적어준다.

조건문이 끝나면 END를 적어준다.

profile
⚽⚾데굴데굴 굴러가는 내 맘대로 벨로그🏀🏐

0개의 댓글