사용자 도구

사이트 도구


기술문서:레퍼런스:언어:조건문

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
기술문서:레퍼런스:언어:조건문 [2025/03/14 15:21]
carlito76
기술문서:레퍼런스:언어:조건문 [2026/01/28 11:49] (현재)
carlito76
줄 1: 줄 1:
 {{htmlmetatags> {{htmlmetatags>
-metatag-description=(조건문, 조건, 프로그래밍 언어, Programming Language, ASP, JSP, Java, JSTL, JavaScript, MyBatis, SQL, Shell Script+metatag-description=(조건문, 조건, 프로그래밍 언어, Programming Language, ASP, JSP, Java, JSTL, JavaScript, Shell Script, MyBatis, SQL) 
-metatag-og:description=(조건문, 조건, 프로그래밍 언어, Programming Language, ASP, JSP, Java, JSTL, JavaScript, MyBatis, SQL, Shell Script)+metatag-og:description=(조건문, 조건, 프로그래밍 언어, Programming Language, ASP, JSP, Java, JSTL, JavaScript, Shell Script, MyBatis, SQL)
 }} }}
  
줄 7: 줄 7:
  
 ===== ASP ===== ===== ASP =====
-<color green> +  * 대/소문자 구분 없음 
-※ 대/소문자 구분 없음\\ +  파스칼 표기법 지향
-※ 파스칼 표기법 (Pascal Case) 지향 +
-</color>+
  
 <sxh vb; gutter: true;> <sxh vb; gutter: true;>
-If 조건1 Then+' If 
 +If 조건식 Then 
 + 구문 
 +End If 
 + 
 +' If 한줄 
 +If 조건식 Then 구문 
 + 
 +' If ~ Else 
 +If 조건식 Then 
 + 구문 
 +Else 
 + 예외 구문 
 +End If 
 + 
 +' If ~ ElseIf 
 +If 조건식1 Then 
 + 구문1 
 +ElseIf 조건식2 Then 
 + 구문2 
 +End If 
 + 
 +' If ~ ElseIf ~ Else 
 +If 조건1 Then
  구문1  구문1
-ElseIf 조건2 Then+ElseIf 조건2 Then
  구문2  구문2
 Else Else
줄 21: 줄 42:
 End If End If
  
 +' Select Case
 Select Case 변수 Select Case 변수
- Case 값1+ Case 비교값1
  구문1  구문1
- Case 값2+ Case 비교값2
  구문2  구문2
  Case Else  Case Else
줄 32: 줄 54:
  
 ===== JSP/Java ===== ===== JSP/Java =====
 +  * JDK 1.7 이상부터 switch 문에 String 사용 가능
 +
 <sxh java; gutter: true;> <sxh java; gutter: true;>
-if (조건1) { +// if 
- 구문1 +if (조건) { 
-} else if (조건2) { + 구문; 
- 구문2+} 
 + 
 +// if 한줄 
 +if (조건식) 구문; 
 + 
 +// if ~ else 
 +if (조건) { 
 + 구문;
 } else { } else {
- 예외 구문+ 예외 구문;
 } }
  
 +// if ~ else if
 +if (조건식1) {
 + 구문1;
 +} else if (조건식2) {
 + 구문2;
 +}
 +
 +// if ~ else if ~ else
 +if (조건식1) {
 + 구문1;
 +} else if (조건식2) {
 + 구문2;
 +} else {
 + 예외 구문;
 +}
 +
 +// switch
 switch (변수) { switch (변수) {
- case 값1: + case 비교값1: 
- 구문1+ 구문1;
  break;  break;
- case 값2:+ case 비교값2:
  구문2  구문2
  break;  break;
  default:  default:
- 예외 구문+ 예외 구문;
 } }
 </sxh> </sxh>
-((JDK 1.7 이상부터 switch 문에 String 사용 가능)) 
  
 ===== JSTL ===== ===== JSTL =====
줄 58: 줄 105:
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  
-<c:if test="${조건}">+<!-- if --> 
 +<c:if test="${조건}">
  구문  구문
 </c:if> </c:if>
  
 +<!-- choose -->
 <c:choose> <c:choose>
- <c:when test="${조건1}">+ <c:when test="${조건1}">
  구문1  구문1
  </c:when>  </c:when>
- <c:when test="${조건2}">+ <c:when test="${조건2}">
  구문2  구문2
  </c:when>  </c:when>
줄 77: 줄 126:
 ===== JavaScript ===== ===== JavaScript =====
 <sxh javascript; gutter: true;> <sxh javascript; gutter: true;>
-if (조건1) { +// if 
- 구문1 +if (조건) { 
-} else if (조건2) { + 구문; 
- 구문2+} 
 + 
 +// if 한줄 
 +if (조건식) 구문; 
 + 
 +// if ~ else 
 +if (조건) { 
 + 구문;
 } else { } else {
- 예외 구문+ 예외 구문;
 } }
  
 +// if ~ else if
 +if (조건식1) {
 + 구문1;
 +} else if (조건식2) {
 + 구문2;
 +}
 +
 +// if ~ else if ~ else
 +if (조건식1) {
 + 구문1;
 +} else if (조건식2) {
 + 구문2;
 +} else {
 + 예외 구문;
 +}
 +
 +// switch
 switch (변수) { switch (변수) {
- case 값1: + case 비교값1: 
- 구문1+ 구문1;
  break;  break;
- case 값2: + case 비교값2: 
- 구문2+ 구문2;
  break;  break;
  default:  default:
- 예외 구문+ 예외 구문;
 } }
 +</sxh>
 +
 +===== Shell Script =====
 +<sxh bash; gutter: true;>
 +# if
 +if [ 조건식 ]
 +then
 + 구문
 +fi
 +
 +# if ~ else
 +if [ 조건식 ]
 +then
 + 구문
 +else
 + 예외 구문
 +fi
 +
 +# if ~ elif
 +if [ 조건식1 ]
 +then
 + 구문1
 +elif [ 조건식2 ]
 +then
 + 구문2
 +fi
 +
 +# if ~ elif ~ else
 +if [ 조건식1 ]
 +then
 + 구문1
 +elif [ 조건식2 ]
 +then
 + 구문2
 +else
 + 예외 구문
 +fi
 +
 +# case
 +case $변수값 in
 + 비교값1)
 + 구문1
 + ;;
 + 비교값2)
 + 구문2
 + ;;
 + *)
 + 예외 구문
 + ;;
 +esac
 </sxh> </sxh>
  
 ===== MyBatis ===== ===== MyBatis =====
 <sxh xml; gutter: true;> <sxh xml; gutter: true;>
-<if test='조건'>+<!-- if --> 
 +<if test='조건'>
  구문  구문
 </if> </if>
  
 +<!-- choose -->
 <choose> <choose>
- <when test='조건1'>+ <when test='조건1'>
  구문1  구문1
  </when>  </when>
- <when test='조건2'>+ <when test='조건2'>
  구문2  구문2
  </when>  </when>
줄 117: 줄 242:
  
 ===== SQL ===== ===== SQL =====
-<color green>※ 대/소문자 구분 없음</color>+  * 대/소문자 구분 없음 
 +  * 최소 지원 버전은 약간의 차이가 있을 수 있습니다.
  
 +==== ANSI ====
 <sxh sql; gutter: true;> <sxh sql; gutter: true;>
--- ANSI SQL +/* 
-CASE + MySQL 4.0 이상/MariaDB 5.1 이상 
- WHEN 조건1 THEN 반환1 + MSSQL 7.0 이상 
- WHEN 조건2 THEN 반환2 + Oracle 8i 이상/Tibero 3 이상 
- ELSE 예외 반환+ PostgreSQL 7.3 이상 
 +*/ 
 +CASE 컬럼/값 
 + WHEN 비교값1 THEN 반환
 + WHEN 비교값2 THEN 반환
 + ELSE 예외 반환
 END END
  
-CASE 컬럼 +CASE 
- WHEN 1 THEN 반환1 + WHEN 조건식1 THEN 반환
- WHEN 2 THEN 반환2 + WHEN 조건식2 THEN 반환
- ELSE 예외 반환+ ELSE 예외 반환
 END END
  
-COALESCE(컬럼/값, NULL 치환) +/* 
-COALESCE(컬럼/값, 첫 번째 컬럼/값이 NULL 이면 반환, 두 번째 컬럼/값이 NULL 이면 반환, ..., NULL 치환)+ MySQL 3.23 이상/MariaDB 5.1 이상 
 + MSSQL 7.0 이상 
 + Oracle 8i 이상/Tibero 3 이상 
 + PostgreSQL 7.3 이상 
 +*/ 
 +COALESCE(컬럼/값, NULL 치환
 +COALESCE(컬럼/값, 첫 번째 컬럼/값이 NULL인 경우 반환, 두 번째 컬럼/값이 NULL인 경우 반환, ..., NULL 치환)
  
--- MSSQL 2012 이상 +/* 
-IIF(조건, TRUE값, FALSE값)+ MySQL 3.23 이상/MariaDB 5.1 이상 
 + MSSQL 7.0 이상 
 + Oracle 8i 이상/Tibero 2 이상 
 + PostgreSQL 7.3 이상 
 +*/ 
 +NULLIF(컬럼/값, 비교값) -- 같으면 NULL 반환, 다르면 컬럼/값 반환 
 +</sxh>
  
--- Oracle/Tibero +==== Non-ANSI ==== 
-DECODE(컬럼, 값, 반환) +<sxh sql; gutter: true;> 
-DECODE(컬럼, 값, 반환, 예외 반환) +/* 
-DECODE(컬럼,1, 반환1, 값2, 반환2) + MySQL 3.23 이상/MariaDB 5.이상 
-DECODE(컬럼11, 2, 반환2, 예외 반환)+*/ 
 +IFNULL(컬럼/값, NULL 치환값)
  
-NVL(컬럼/값, NULL 치환) +/* 
-NVL2(컬럼/값, NOT NULL 치환, NULL 치환) + MSSQL 6.0 이상 
-</sxh>+*/ 
 +ISNULL(컬럼/값, NULL 치환)
  
-===== Shell Script ===== +/* 
-<sxh bash; gutter: true;> + MySQL 3.23 이상/MariaDB 5.이상 
-if [ 조건] +*/ 
-then +IF(조건식, TRUE 치환값, FALSE 치환값)
- 구문1 +
-elif [ 조건2 ] +
-then +
- 구문2 +
-else +
- 예외 구문 +
-fi+
  
-case $변수 in +/* 
-1+ MariaDB 10.3.2 이상 
- 구문+ MSSQL 2012 이상 
- ;; +*/ 
- 값2) +IIF(조건식, TRUE 치환값, FALSE 치환값) 
- 구문+ 
- ;; +/* 
- *) + Oracle 6 이상/Tibero 이상 
- 예외 구문 +*/ 
- ;; +DECODE(컬럼/값, 비교값, 반환값) 
-esac+DECODE(컬럼/값, 비교값, 반환값, 예외 반환값) 
 +DECODE(컬럼/값, 비교값1, 반환값1, 비교값2, 반환값2 ...
 +DECODE(컬럼/값, 비교값1, 반환값1, 비교값2, 반환값2, ..., 예외 반환값) 
 + 
 +/* 
 + Oracle 7 이상/Tibero 3 이상 
 +*/ 
 +NVL(컬럼/값, NULL 치환값
 + 
 +/* 
 + Oracle 8i 이상/Tibero 3 이상 
 +*/ 
 +NVL2(컬럼/값, NOT NULL 치환값, NULL 치환값)
 </sxh> </sxh>