sql 질문이요 0 3 355

by queseraser [SQL Query] [2020.03.02 16:08:03]


안녕하세요

sql질문드려요.

with t1 as ( select 'cond1 >= #001#' as c1, 20 as c2  from dual)

select case when c1 c2 then 1 else 0 end as case1

   , case when cond1 >= 20 then 1 else 0 end case2

 from t1

위 쿼리 처럼 특정조건이 컬럼의 데이터로 저장되어있는 테이블이 있는데요. 그 컬럼의 데이터로 case 조건문으로 넣을수 있는 방법이 있을까요?

case2와 동일한 결과가 나오도록 말이죠...

감사합니다~

by 마농 [2020.03.02 17:07:06]

1. #001# 은 c2 로 대체하면 되나요?
 - 항상 숫자 조건인가요? 문자조건이 올 수 는 없는지?
2. cond1 컬럼은 안보이는데요?


by queseraser [2020.03.02 18:04:47]

1. c2에는 문자조건만 들어갈수 있어요

2. cond1은 문자로 저정된 값이에요

 

제가 원하는 sql은 case when cond1 >= 20 then 1 else 0 end 인데

case when c1 c2 then 1 else 0 end 로 하면 관계연사자가 부적합니다 라는 오류가 나요

 


by 마농 [2020.03.10 09:47:34]

질문이 이해가 안가요.
c2 는 문자라더니? 조건은 숫자네요? >= 20
cond1 의 정체도 잘 모르겠구요.
테이블의 컬럼에 저장된 값인지? 변수로 입력된 값인지?
무엇을 무엇으로 대체해야 하는지?
조건은 어떻게 체크해야 하는지?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입