사용자 도구

사이트 도구


사이드바

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

문서의 이전 판입니다!


조건문

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

※ 대/소문자 구분 없음

-- ANSI SQL
CASE
	WHEN 조건1 THEN 반환1
	WHEN 조건2 THEN 반환2
	ELSE 예외 반환
END

CASE 컬럼/값
	WHEN 비교값1 THEN 반환1
	WHEN 비교값2 THEN 반환2
	ELSE 예외 반환
END

COALESCE(컬럼/값, NULL 치환)
COALESCE(컬럼/값, 첫 번째 컬럼/값이 NULL인 경우 반환, 두 번째 컬럼/값이 NULL인 경우 반환, ..., NULL 치환)

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

-- MSSQL 6 이상
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.3 이상/Tibero 3 이상
NVL(컬럼/값, NULL 치환)

-- Oracle 8.1.6 이상/Tibero 6 이상
NVL2(컬럼/값, NOT NULL 치환, NULL 치환)

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