사용자 도구

사이트 도구


사이드바

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

문서의 이전 판입니다!


조건문

ASP

※ 대/소문자 구분 없음
※ 파스칼 표기법 (Pascal Case) 지향

' 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

// 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:
		예외 구문;
}
1)

JSTL

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!-- if -->
<c:if test="${조건식}">
	구문
</c:if>

<!-- choose -->
<c:choose>
	<c:when test="${조건식1}">
		구문1
	</c:when>
	<c:when test="${조건식2}">
		구문2
	</c:when>
	<c:otherwise>
		예외 구문
	</c:otherwise>
</c:choose>

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

<!-- if -->
<if test='조건식'>
	구문
</if>

<!-- choose -->
<choose>
	<when test='조건식1'>
		구문1
	</when>
	<when test='조건식2'>
		구문2
	</when>
	<otherwise>
		예외 구문
	</otherwise>
</choose>

SQL

※ 대/소문자 구분 없음
※ 최소 지원 버전은 약간의 차이가 있을 수 있습니다.

-- 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

-- MySQL 4.0 이상/MariaDB 5.1 이상 & MSSQL 2000 이상 & Oracle 8i 이상/Tibero 3 이상 & PostgreSQL 7.3 이상
CASE
	WHEN 조건식1 THEN 반환값1
	WHEN 조건식2 THEN 반환값2
	ELSE 예외 반환값
END

-- MySQL 4.0 이상/MariaDB 5.1 이상 & MSSQL 2000 이상 & Oracle 9i 이상/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 반환, 다르면 컬럼/값 반환
2)

-- MySQL 3.23 이상/MariaDB 5.1 이상
IFNULL(컬럼/값, NULL 치환값)

-- MSSQL 6.0 이상
ISNULL(컬럼/값, NULL 치환값)

-- 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 8.1.6 이상/Tibero 6 이상
NVL2(컬럼/값, NOT NULL 치환값, NULL 치환값)

1)
JDK 1.7 이상부터 switch 문에 String 사용 가능
2)
ANSI SQL