programing

null 값을 텍스트로 바꾸는 방법은 무엇입니까?

easyjava 2023. 6. 13. 22:54
반응형

null 값을 텍스트로 바꾸는 방법은 무엇입니까?

직원을 표시해야 합니다.last_nameOracle SQL의 직원 테이블에서 커미션 금액을 계산하지만 조건은 다음과 같습니다.NULL"수수료 없음"을 인쇄하는 데 필요한 값입니다.
첫 번째 부분은 다음과 같습니다.

select last_name, commission_pct from employees;

하지만 교체 방법을 찾을 수 없습니다.NULL"수수료 없음" 값.

사용할 수 있습니다.case식:

select last_name
     , case when commision_pct is null then 'No Commission' else commision_pct end    
from employees;

또는coalesce:

select last_name
     , coalesce(commision_pct, 'No Commission')
from employees;

또는nvl:

 select last_name
     , nvl(commision_pct, 'No Commission')
from employees;

추신: 만일의 경우commision_pct의 데이터 유형은 다음과 같습니다.varchar또한 사용해야 합니다.cast또는to_char.

오라클용

select last_name, nvl(commission_pct,'No Commission')
from employees;

SQL용

select last_name, isnull(commission_pct,"No Commission") as commission_pct
    from employees;

매우 간단하고 정확한 또 다른 대안:

nvl(to_char(commision_pct), 'No Commission') 

부터,commision_pct번호 데이터 유형입니다.to_char명시적으로 문자열로 변환합니다.

Isnull() Used to Replace NULL value to replace the default value(NULL 값을 기본값으로 바꾸기 위해 사용됨)에서 볼 수 있는 것처럼 간단합니다. 따라서 여기서 제가 한 일은 "commission_pct"가 NULL 값을 가지고 있다면 ISNULL()에서 두 번째 매개 변수로 전달한 "No Commission" 텍스트로 대체됩니다.

  select last_name, 
    ISNULL(commission_pct,'No Commission') AS commission_pct
    from employees;

직원들로부터 COMM으로 Last_Name, decode(nvl(salary commission_pct, '0'), 0, 'No commission', salary commission_pct)를 선택합니다.

만약 이런 상태라면:

Select job_id, job_title, employee_id
from jobs join job_history using (job_id);

그리고 그 안에서 일하고 있는 모든 직원_id를 보여줍니다. 그렇지 않으면, 대체합니다.varchar

언급URL : https://stackoverflow.com/questions/29982375/how-to-replace-null-values-with-a-text

반응형