---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideDBFunctionCaseBuilder - 전역

# GlideDBFunctionCaseBuilder - 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 15분

GlideDBCaseStatementBuilder API를 사용하면 SQL CASE 문을 작성하고 일련의 조건에 따라 값을 반환할 수 있습니다.

이 API를 API 정의 [GlideElement - 전역](https://servicenow-prod.fluidtopics.net/ICFl70X4_lFd8eJ7ry_BWg#c_GlideElementAPI "GlideElement API는 필드와 해당 값을 처리하기 위한 여러 가지 편리한 스크립트 메서드를 제공합니다. 현재 Glide 기록의 필드에는 GlideElement 메서드를 사용할 수 있습니다.") 의 일부로 사용하거나 테이블을 쿼리할 때 사용할 수 있습니다. `CASE` 문을 빌드하려면 먼저 해당 생성자인 GlideDBFunctionCaseBuilder()를 사용하여 GlideDBFunctionCaseBuilder 객체를 인스턴스화합니다. 그런 다음 일련의 when() 및 then() 호출과 단일 선택적 elsewise() 호출을 사용하여 하나 이상의 케이스를 정의합니다. 마지막으로 build() 메서드를 호출하여 빌더를 마무리하고 완성된 데이터베이스 함수 케이스 문을 생성합니다. 그런 다음 이 문을 직접 사용하거나 다른 Glide 함수 정의의 일부로 사용할 수 있습니다.

필요한 역할: admin, function_field_admin.

## GlideDBFunctionCaseBuilder - GlideDBFunctionCaseBuilder() {#ariaid-title2}

GlideDBFunctionCaseBuilder 객체를 인스턴스화합니다.
{#GlideDBFCB_O__table_zxm_3td_svb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 없음 |   |   |
[표 1. 매개변수]

{#GlideDBFCB_O__table_zxm_3td_svb}  
이 예제에서는 GlideDBFunctionCaseBuilder 객체를 인스턴스화합니다.

    var caseBuilder = new GlideDBFunctionCaseBuilder();

## GlideDBFunctionCaseBuilder - build() {#ariaid-title3}

조건 목록을 완료하고 최종 CASE 문을 작성합니다.
{#GlideDBFCB-build__table_y1r_4ch_jbb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 2. 매개변수]

{#GlideDBFCB-build__table_y1r_4ch_jbb} {#GlideDBFCB-build__table_z1r_4ch_jbb__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 완료된 케이스 문. |
[표 3. 반환]

{#GlideDBFCB-build__table_z1r_4ch_jbb}  
다음 예제에서는 간단한 케이스 문을 정의하고 빌드하는 방법을 보여줍니다. 영향 필드의 숫자 값에 따라 4개의 다른 문자열 중 하나가 출력됩니다.

    const caseStatement = new GlideDBFunctionCaseBuilder()
        .whenCompare("impact", "'='", "'1'").then("'CRITICAL'")
        .whenCompare("impact", "'='", "'2'").then("'URGENT'")
        .whenCompare("impact", "'='", "'3'").then("'IMPORTANT'")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next())  {
        gs.info("impact: {0}  case: {1}",
                [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

출력:

    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 3  case: IMPORTANT

## GlideDBFunctionCaseBuilder - 그렇지 않음(문자열 exp) {#ariaid-title4}

옵션입니다. when 및 then에 대한 호출 쌍 중 하나 이상에 이어 otherwise() 호출을 사용하면 when 표현식이 충족되지 않는 경우 출력할 값을 지정할 수 있습니다.
{#GDBFCB-otherwise_exp__table_nd4_ngf_xwb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 경험 | 문자열 | 출력할 값입니다. 상수, 필드에 대한 참조 또는 다른 Glide 함수일 수 있습니다. |
[표 4. 매개변수]

{#GDBFCB-otherwise_exp__table_nd4_ngf_xwb} {#GDBFCB-otherwise_exp__table_od4_ngf_xwb__entry__2}

| 유형 | 설명 |
|-|-|
| GlideDBFunctionCaseBuilder | 문을 계속 작성할 Fluent 작성기 객체입니다. |
[표 5. 반환]

{#GDBFCB-otherwise_exp__table_od4_ngf_xwb}  
다음 예제에서는 간단한 케이스 문을 정의하고 빌드하는 방법을 보여줍니다.

    const caseStatement = new GlideDBCaseFunctionBuilder()
        .whenEqual("impact", "'1'").then("'CRITICAL'") 
        .whenEqual("impact", "'2'").then("category")
        .whenEqual("impact", "'3'").then("length(short_description)")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next())  {
          gs.info("impact: {0}  case: {1}",
                  [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

출력:

    *** Script: impact: 2  case: inquiry
    *** Script: impact: 2  case: Hardware
    *** Script: impact: 1  case:  CRITICAL
    *** Script: impact: 2  case: database
    *** Script: impact: 2  case: inquiry
    *** Script: impact: 3  case: 28
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: 17
    *** Script: impact: 3  case: 29

## GlideDBFunctionCaseBuilder - then(문자열 exp) {#ariaid-title5}

when() 메서드 다음에 then()을 사용하면 when() 표현식이 충족되는 경우 출력할 값을 지정할 수 있습니다.
{#GDBFCB-then_exp__table_xmq_42f_xwb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 경험 | 문자열 | 출력할 값입니다. 상수, 필드에 대한 참조 또는 다른 Glide 함수일 수 있습니다. |
[표 6. 매개변수]

{#GDBFCB-then_exp__table_xmq_42f_xwb} {#GDBFCB-then_exp__table_ymq_42f_xwb__entry__2}

| 유형 | 설명 |
|-|-|
| GlideDBFunctionCaseBuilder | 문을 계속 작성할 Fluent 작성기 객체입니다. |
[표 7. 반환]

{#GDBFCB-then_exp__table_ymq_42f_xwb}  
다음 예제에서는 간단한 케이스 문을 정의하고 빌드하는 방법을 보여줍니다. 이 경우 then() 표현식은 문자열뿐만 아니라 `length(short_description)`와 같은 다른 Glide 함수의 결과도 출력할 수 있는 방법을 보여줍니다.

    const caseStatement = new GlideDBCaseFunctionBuilder()
        .whenEqual("impact", "'1'").then("'CRITICAL'") 
        .whenEqual("impact", "'2'").then("category")
        .whenEqual("impact", "'3'").then("length(short_description)")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next())  {
          gs.info("impact: {0}  case: {1}",
                  [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

출력:

    *** Script: impact: 2  case: inquiry
    *** Script: impact: 2  case: Hardware
    *** Script: impact: 1  case:  CRITICAL
    *** Script: impact: 2  case: database
    *** Script: impact: 2  case: inquiry
    *** Script: impact: 3  case: 28
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: 17
    *** Script: impact: 3  case: 29

## GlideDBFunctionCaseBuilder - when(문자열 func) {#ariaid-title6}

지원되는 'when' 표현식 중 가장 다재다능한 when() 메서드를 사용하면 부울 값의 Glide 함수를 충족할 조건으로 제공할 수 있습니다.
{#GDBFCB-whenFunc__table_dmg_sy2_xwb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 기능 | 문자열 | 평가될 때 부울 값 결과를 생성하는 Glide 함수입니다. 가능한 값: * glide함수:비교 * glidefunction:및 * glidefunction:또는 {#GDBFCB-whenFunc__ul_zc1_zy2_xwb} |
[표 8. 매개변수]

{#GDBFCB-whenFunc__table_dmg_sy2_xwb} {#GDBFCB-whenFunc__table_emg_sy2_xwb__entry__2}

| 유형 | 설명 |
|-|-|
| glideDBFunctionCaseBuilder | 문을 계속 빌드할 객체입니다. |
[표 9. 반환]

{#GDBFCB-whenFunc__table_emg_sy2_xwb}  
다음 예제에서는 간단한 케이스 문을 정의하고 빌드하는 방법을 보여줍니다. 이 경우 when() 메서드를 사용하여 더 복잡한 비교 표현식을 지정합니다. 표현식이 true로 평가되면 해당 문자열이 반환됩니다.

    const caseStatement = new GlideDBFunctionCaseBuilder() 
        // if impact == 1 AND category == 'Software' then output "CRITICAL SOFTWARE" 
        .when("and(compare(impact, '=', '1'), compare(category, '=',  
    'Software')") 
            .then("'CRITICAL SOFTWARE'") 
        // if impact == 1 then output "CRITICAL OTHER" 
        .when("compare(impact, '=', '1')") 
            .then("'CRITICAL OTHER'") 
        // if impact == 2 OR category == 'Software' then output "URGENT" 
        .when("or(compare(impact, '=', '2'), compare(category, '=', 'Software')") 
            .then("'URGENT'") 
        // If none of the above expressions are true, output "NOT IMPORTANT" 
        .otherwise("'NOT IMPORTANT'") 
        .build(); 
     
    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement); 
    gr_incident.setLimit(20); 
    gr_incident.query(); 
    while(gr_incident.next())  { 
          gs.info("impact: {0}  category: {1}  case: {2}", 
                [gr_incident.impact, gr_incident.category, gr_incident.getValue(caseStatement)]); 
    }

출력:

    impact: 2  category: inquiry  case: URGENT
    impact: 2  category: Hardware  case: URGENT
    impact: 1  category: inquiry  case:  CRITICAL OTHER
    impact: 2  category: database  case: URGENT
    impact: 2  category: inquiry  case: URGENT
    impact: 3  category: software  case: URGENT
    impact: 1  category: inquiry  case: CRITICAL OTHER
    impact: 1  category: inquiry  case: CRITICAL OTHER
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 3  category: hardware  case: NOT IMPORTANT
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 3  category: hardware  case: NOT IMPORTANT
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 1  category: inquiry  case: CRITICAL OTHER
    impact: 1  category: software  case: CRITICAL SOFTWARE
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 2  category: software  case: URGENT
    impact: 1  category: software  case: CRITICAL SOFTWARE

## GlideDBFunctionCaseBuilder - whenCompare(문자열 exp1, 문자열 연산, 문자열 exp2) {#ariaid-title7}

비교 케이스 조건을 시작합니다.
{#GlideDBFCB-whenCompare_S_S_S__table_jj1_2q2_xwb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| exp1 | 문자열 | 왼쪽 비교 식입니다. 상수, 필드에 대한 참조 또는 다른 Glide 함수일 수 있습니다. |
| op | 문자열 | 따옴표로 묶인 비교 연산자입니다. 유효한 값은 다음과 같습니다. * "'='" * "'\<'" * "'\>'" * "'\<='" * "'\>='" {#GlideDBFCB-whenCompare_S_S_S__ul_gpp_br2_xwb} |
| exp2 | 문자열 | 오른쪽 비교 표현식입니다. 상수, 필드에 대한 참조 또는 다른 Glide 함수일 수 있습니다. |
[표 10. 매개변수]

{#GlideDBFCB-whenCompare_S_S_S__table_jj1_2q2_xwb} {#GlideDBFCB-whenCompare_S_S_S__table_kj1_2q2_xwb__entry__2}

| 유형 | 설명 |
|-|-|
| GlideDBFunctionCaseBuilder | 문을 계속 빌드할 함수 빌더 객체입니다. |
[표 11. 반환]

{#GlideDBFCB-whenCompare_S_S_S__table_kj1_2q2_xwb}  
다음 예제에서는 간단한 케이스 문을 정의하고 빌드하는 방법을 보여줍니다. 이 경우 whenCompare() 메서드를 사용하여 영향 필드의 값을 숫자와 비교하고 일치하는 경우 지정된 문자열을 출력합니다.

    const caseStatement = new GlideDBFunctionCaseBuilder()
        .whenCompare("impact", "'='", "'1'").then("'CRITICAL'")
        .whenCompare("impact", "'='", "'2'").then("URGENT")
        .whenCompare("impact", "'='", "'3'").then("IMPORTANT")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next()) {
        gs.info("impact: {0} case: {1}",
                [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

출력:

    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 3  case: IMPORTANT

## GlideDBFunctionCaseBuilder - whenEqual(문자열 exp1, 문자열 exp2) {#ariaid-title8}

whenCompare()와 유사하게 whenEqual()은 동등을 확인하는 편리한 방법입니다. 이는 whenCompare(leftExpression, '=', rightExpression)와 동일합니다.
{#GDBCFB-whenEqual__table_hcb_2w2_xwb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| exp1 | 문자열 | 왼쪽 비교 식입니다. 상수, 필드에 대한 참조 또는 다른 Glide 함수일 수 있습니다. |
| exp2 | 문자열 | 오른쪽 비교 표현식입니다. 상수, 필드에 대한 참조 또는 다른 Glide 함수일 수 있습니다. |
[표 12. 매개변수]

{#GDBCFB-whenEqual__table_hcb_2w2_xwb} {#GDBCFB-whenEqual__table_icb_2w2_xwb__entry__2}

| 유형 | 설명 |
|-|-|
| GlideDBFunctionCaseBuilder | 문을 계속 빌드할 함수 빌더 객체입니다. |
[표 13. 반환]

{#GDBCFB-whenEqual__table_icb_2w2_xwb}  
다음 예제에서는 간단한 케이스 문을 정의하고 빌드하는 방법을 보여줍니다. 이 경우 whenEqual() 메서드를 사용하여 영향 필드의 값을 숫자와 비교하고 일치하는 경우 지정된 문자열을 출력합니다.

    const caseStatement = new GlideDBFunctionCaseBuilder()
        .whenEqual("impact", "'1'").then("'CRITICAL'")
        .whenEqual("impact", "'2'").then("'URGENT'")
        .whenEqual("impact", "'3'").then("'IMPORTANT'")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next())  {
        gs.info("impact: {0}  case: {1}",
                [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

출력:

    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 3  case: IMPORTANT


