{{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 치환값)