사용자 도구

사이트 도구


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

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
기술문서:레퍼런스:언어:조건문 [2025/03/24 17:13]
carlito76
기술문서:레퍼런스:언어:조건문 [2026/01/28 11:49] (현재)
carlito76
줄 7: 줄 7:
  
 ===== ASP ===== ===== ASP =====
-<color green> +  * 대/소문자 구분 없음 
-※ 대/소문자 구분 없음\\ +  파스칼 표기법 지향
-※ 파스칼 표기법 (Pascal Case) 지향 +
-</color>+
  
 <sxh vb; gutter: true;> <sxh vb; gutter: true;>
 ' If ' If
-If 조건 Then+If 조건식 Then
  구문  구문
 End If End If
  
 ' If 한줄 ' If 한줄
-If 조건 Then 구문+If 조건식 Then 구문
  
 ' If ~ Else ' If ~ Else
-If 조건 Then+If 조건식 Then
  구문  구문
 Else Else
줄 29: 줄 27:
  
 ' If ~ ElseIf ' If ~ ElseIf
-If 조건1 Then+If 조건1 Then
  구문1  구문1
-ElseIf 조건2 Then+ElseIf 조건2 Then
  구문2  구문2
 End If End If
  
 ' If ~ ElseIf ~ Else ' If ~ ElseIf ~ Else
-If 조건1 Then+If 조건1 Then
  구문1  구문1
-ElseIf 조건2 Then+ElseIf 조건2 Then
  구문2  구문2
 Else Else
줄 56: 줄 54:
  
 ===== JSP/Java ===== ===== JSP/Java =====
 +  * JDK 1.7 이상부터 switch 문에 String 사용 가능
 +
 <sxh java; gutter: true;> <sxh java; gutter: true;>
 // if // if
-if (조건) { +if (조건) { 
- 구문+ 구문;
 } }
  
 // if 한줄 // if 한줄
-if (조건) 구문+if (조건) 구문;
  
 // if ~ else // if ~ else
-if (조건) { +if (조건) { 
- 구문+ 구문;
 } else { } else {
- 예외 구문+ 예외 구문;
 } }
  
 // if ~ else if // if ~ else if
-if (조건1) { +if (조건1) { 
- 구문1 + 구문1; 
-} else if (조건2) { +} else if (조건2) { 
- 구문2+ 구문2;
 } }
  
 // if ~ else if ~ else // if ~ else if ~ else
-if (조건1) { +if (조건1) { 
- 구문1 + 구문1; 
-} else if (조건2) { +} else if (조건2) { 
- 구문2+ 구문2;
 } else { } else {
- 예외 구문+ 예외 구문;
 } }
  
줄 91: 줄 91:
 switch (변수) { switch (변수) {
  case 비교값1:  case 비교값1:
- 구문1+ 구문1;
  break;  break;
  case 비교값2:  case 비교값2:
줄 97: 줄 97:
  break;  break;
  default:  default:
- 예외 구문+ 예외 구문;
 } }
 </sxh> </sxh>
-((JDK 1.7 이상부터 switch 문에 String 사용 가능)) 
  
 ===== JSTL ===== ===== JSTL =====
줄 107: 줄 106:
  
 <!-- if --> <!-- if -->
-<c:if test="${조건}">+<c:if test="${조건}">
  구문  구문
 </c:if> </c:if>
줄 113: 줄 112:
 <!-- choose --> <!-- 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>
줄 128: 줄 127:
 <sxh javascript; gutter: true;> <sxh javascript; gutter: true;>
 // if // if
-if (조건) { +if (조건) { 
- 구문+ 구문;
 } }
  
 // if 한줄 // if 한줄
-if (조건) 구문+if (조건) 구문;
  
 // if ~ else // if ~ else
-if (조건) { +if (조건) { 
- 구문+ 구문;
 } else { } else {
- 예외 구문+ 예외 구문;
 } }
  
 // if ~ else if // if ~ else if
-if (조건1) { +if (조건1) { 
- 구문1 + 구문1; 
-} else if (조건2) { +} else if (조건2) { 
- 구문2+ 구문2;
 } }
  
 // if ~ else if ~ else // if ~ else if ~ else
-if (조건1) { +if (조건1) { 
- 구문1 + 구문1; 
-} else if (조건2) { +} else if (조건2) { 
- 구문2+ 구문2;
 } else { } else {
- 예외 구문+ 예외 구문;
 } }
  
줄 161: 줄 160:
 switch (변수) { switch (변수) {
  case 비교값1:  case 비교값1:
- 구문1+ 구문1;
  break;  break;
  case 비교값2:  case 비교값2:
- 구문2+ 구문2;
  break;  break;
  default:  default:
- 예외 구문+ 예외 구문;
 } }
 </sxh> </sxh>
줄 174: 줄 173:
 <sxh bash; gutter: true;> <sxh bash; gutter: true;>
 # if # if
-if [ 조건 ]+if [ 조건식 ]
 then then
  구문  구문
줄 180: 줄 179:
  
 # if ~ else # if ~ else
-if [ 조건 ]+if [ 조건식 ]
 then then
  구문  구문
줄 188: 줄 187:
  
 # if ~ elif # if ~ elif
-if [ 조건1 ]+if [ 조건1 ]
 then then
  구문1  구문1
-elif [ 조건2 ]+elif [ 조건2 ]
 then then
  구문2  구문2
줄 197: 줄 196:
  
 # if ~ elif ~ else # if ~ elif ~ else
-if [ 조건1 ]+if [ 조건1 ]
 then then
  구문1  구문1
-elif [ 조건2 ]+elif [ 조건2 ]
 then then
  구문2  구문2
줄 208: 줄 207:
  
 # case # case
-case $변수 in+case $변수값 in
  비교값1)  비교값1)
  구문1  구문1
줄 224: 줄 223:
 <sxh xml; gutter: true;> <sxh xml; gutter: true;>
 <!-- if --> <!-- if -->
-<if test='조건'>+<if test='조건'>
  구문  구문
 </if> </if>
줄 230: 줄 229:
 <!-- choose --> <!-- choose -->
 <choose> <choose>
- <when test='조건1'>+ <when test='조건1'>
  구문1  구문1
  </when>  </when>
- <when test='조건2'>+ <when test='조건2'>
  구문2  구문2
  </when>  </when>
줄 243: 줄 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 치환값) 
 + 
 +/* 
 + MySQL 3.23 이상/MariaDB 5.1 이상 
 + MSSQL 7.0 이상 
 + Oracle 8i 이상/Tibero 2 이상 
 + PostgreSQL 7.3 이상 
 +*/ 
 +NULLIF(컬럼/값, 비교값) -- 같으면 NULL 반환, 다르면 컬럼/값 반환 
 +</sxh> 
 + 
 +==== Non-ANSI ==== 
 +<sxh sql; gutter: true;> 
 +/* 
 + MySQL 3.23 이상/MariaDB 5.1 이상 
 +*/ 
 +IFNULL(컬럼/값, NULL 치환값) 
 + 
 +/* 
 + MSSQL 6.0 이상 
 +*/ 
 +ISNULL(컬럼/값, NULL 치환값) 
 + 
 +/* 
 + MySQL 3.23 이상/MariaDB 5.1 이상 
 +*/ 
 +IF(조건식, TRUE 치환값, FALSE 치환값) 
 + 
 +/* 
 + MariaDB 10.3.2 이상 
 + MSSQL 2012 이상 
 +*/ 
 +IIF(조건식, TRUE 치환값, FALSE 치환값)
  
--- MSSQL 2012 이상 +/* 
-IIF(조건TRUE 치환, FALSE 치환)+ Oracle 6 이상/Tibero 1 이상 
 +*/ 
 +DECODE(컬럼/값비교값, 반값) 
 +DECODE(컬럼/값, 비교값, 반환값, 예외 반환값) 
 +DECODE(컬럼/값, 비교값1, 반환값1, 비교값2, 반환값2 ...) 
 +DECODE(컬럼/값, 비교값1, 반환값1, 비교값2, 반환값2, ...예외 반)
  
--- Oracle/Tibero +/* 
-DECODE(컬럼/값, 비교값, 반환) + Oracle 7 이상/Tibero 3 이상 
-DECODE(컬럼/값, 비교값, 반, 예외 반환) +*
-DECODE(컬럼/, 비교값1, 반환1, 비교값2, 반환2 ...) +NVL(컬럼/값, NULL 치환값)
-DECODE(컬럼/값, 비교값1, 반환1, 비교값2, 반환2, ..., 예외 반환)+
  
-NVL(컬럼/값, NULL 치환) +/
-NVL2(컬럼/값, NOT NULL 치환, NULL 치환)+ Oracle 8i 이상/Tibero 3 이상 
 +*/ 
 +NVL2(컬럼/값, NOT NULL 치환, NULL 치환)
 </sxh> </sxh>