{{htmlmetatags> metatag-description=(조건문, 조건, 프로그래밍 언어, Programming Language, ASP, JSP, Java, JSTL, JavaScript, Shell Script, MyBatis, SQL) metatag-og:description=(조건문, 조건, 프로그래밍 언어, Programming Language, ASP, JSP, Java, JSTL, JavaScript, Shell Script, MyBatis, SQL) }} ====== 조건문 ====== ===== ASP ===== * 대/소문자 구분 없음 * 파스칼 표기법 지향 ' 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 ElseIf 조건식2 Then 구문2 Else 예외 구문 End If ' Select Case Select Case 변수 Case 비교값1 구문1 Case 비교값2 구문2 Case Else 예외 구문 End Select ===== JSP/Java ===== * JDK 1.7 이상부터 switch 문에 String 사용 가능 // if if (조건식) { 구문; } // if 한줄 if (조건식) 구문; // if ~ else if (조건식) { 구문; } 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 (변수) { case 비교값1: 구문1; break; case 비교값2: 구문2 break; default: 예외 구문; } ===== JSTL ===== <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 구문 구문1 구문2 예외 구문 ===== JavaScript ===== // if if (조건식) { 구문; } // if 한줄 if (조건식) 구문; // if ~ else if (조건식) { 구문; } 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 (변수) { case 비교값1: 구문1; break; case 비교값2: 구문2; break; default: 예외 구문; } ===== Shell Script ===== # 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 ===== MyBatis ===== 구문 구문1 구문2 예외 구문 ===== SQL ===== * 대/소문자 구분 없음 * 최소 지원 버전은 약간의 차이가 있을 수 있습니다. ==== ANSI ==== /* MySQL 4.0 이상/MariaDB 5.1 이상 MSSQL 7.0 이상 Oracle 8i 이상/Tibero 3 이상 PostgreSQL 7.3 이상 */ CASE 컬럼/값 WHEN 비교값1 THEN 반환값1 WHEN 비교값2 THEN 반환값2 ELSE 예외 반환값 END CASE WHEN 조건식1 THEN 반환값1 WHEN 조건식2 THEN 반환값2 ELSE 예외 반환값 END /* 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 반환, 다르면 컬럼/값 반환 ==== Non-ANSI ==== /* 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 치환값) /* Oracle 6 이상/Tibero 1 이상 */ DECODE(컬럼/값, 비교값, 반환값) 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 치환값)