각 함수는 식을 특정 데이터 형식으로 변환합니다.
구문
CBool(expression)CByte(expression)CCur(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CSng(expression)CStr(expression)CVar(expression)
필수 expression 인수는 문자열 또는 숫자 식입니다.
반환 형식
함수 이름은 다음 표와 같이 반환 형식을 결정합니다.
| 함수 | 반환 형식 | 인수 범위 expression |
|---|---|---|
CBool |
Boolean |
유효한 문자열 또는 숫자 식입니다. |
CByte |
Byte |
0에서 255로. |
CCur |
Currency |
-922,337,203,685,477.5808에서 922,337,203,685,477.5807로. |
CDate |
Date |
유효한 날짜 식입니다. |
CDbl |
Double |
-1.79769313486231E308 음수 -4.94065645841247E-324 값의 경우 을, 4.94065645841247E-324 양수 값의 경우 를 1.79769313486232E308 로 지정합니다. |
CDec |
Decimal |
+/-79,228,162,514,264,337,593,543,950,335 크기가 0인 숫자 또는 소수 자릿수가 없는 숫자의 경우 입니다. 소수 자릿수가 있는 28 숫자의 경우 범위는 입니다 +/-7.9228162514264337593543950335. 가능한 가장 작은 0이 아닌 숫자는 입니다 0.0000000000000000000000000001. |
CInt |
Integer |
-32,768 으로 32,767, 분수는 반올림됩니다. |
CLng |
Long |
-2,147,483,648 으로 2,147,483,647, 분수는 반올림됩니다. |
CSng |
Single |
-3.402823E38 음수 -1.401298E-45 값의 경우 을, 1.401298E-45 양수 값의 경우 를 3.402823E38 로 지정합니다. |
CStr |
String |
반환 값은 인수에 expression 따라 달라집니다. |
CVar |
Variant |
숫자 값과 Double 동일한 범위입니다. 숫자가 아닌 값과 String 동일한 범위입니다. |
주의
expression 함수에 전달된 가 변환하는 데이터 형식 범위를 벗어나면 오류가 발생합니다.
일반적으로 데이터 형식 변환 함수를 사용하여 코드를 문서화하여 작업의 결과가 기본 형식 대신 특정 데이터 형식을 사용해야 임을 보여 줄 수 있습니다. 예를 들어 단정밀도, 배정밀도 또는 정수 산술 연산이 일반적으로 발생하는 경우 를 사용하여 CCur 통화 산술 연산을 강제 적용합니다.
대신 데이터 형식 변환 함수를 Val 사용하여 한 데이터 형식에서 다른 데이터 형식으로의 로캘 인식 변환을 제공합니다. 예를 들어 를 사용하는 CCur경우 Access는 컴퓨터의 로캘 설정에 따라 서로 다른 소수 구분 기호, 천 구분 기호 및 통화 옵션을 인식합니다.
소수 부분이 정확히 0.5이 CInt 면 CLng 항상 가장 가까운 짝수로 반올림합니다. 예를 들어 를 0.5 로 반올림 0하고 1.5 로 반올림합니다 2.
CInt 및 CLng 는 Fix 반올림하는 대신 숫자의 소수 부분을 자르는 및 함수와 Int 다릅니다.
Fix 또한 Int 항상 전달한 것과 동일한 형식의 값을 반환합니다.
함수를 IsDate 사용하여 날짜 또는 시간으로 변환할 수 있는지 여부를 date 결정합니다.
CDate 는 날짜 리터럴과 시간 리터럴뿐만 아니라 허용 가능한 날짜 범위에 속하는 일부 숫자를 인식합니다. 숫자를 날짜로 변환하면 정수 부분이 날짜가 됩니다. 소수 부분은 자정에 시작하는 하루 중 시간이 됩니다.
CDate 시스템 로캘 설정에 따라 날짜 형식을 인식합니다. 인식된 날짜 설정 중 하나 이외의 형식을 제공하는 경우 액세스에서 올바른 날짜, 월 및 연도 순서를 결정하지 못할 수 있습니다. 또한 요일 문자열도 포함하는 경우 긴 날짜 형식을 인식하지 못합니다.
CVDate 이 함수는 이전 버전의 Visual Basic과의 호환성을 위해 사용할 수도 있습니다. 의 구문 CVDate 은 함수와 CDate 동일합니다. 그러나 CVDate 는 해당 하위 형식이 Date 실제 Date 형식이 아닌 를 반환 Variant 합니다. 이제 Access에 내장 형식이 Date 포함되어 있으므로 더 이상 이 필요하지 CVDate않습니다. 식을 Date 로 변환한 다음 에 할당하여 동일한 효과를 얻을 수 있습니다 Variant. 이 기술은 다른 내장 형식을 해당 Variant 하위 형식으로 변환하는 것과 일치합니다.
참고
함수는 CDec 불연속 데이터 형식을 반환하지 않습니다. 대신 항상 값이 Variant 하위 형식으로 변환된 를 Decimal 반환합니다.
쿼리 예제
| Expression | 결과 |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
및 를 FinalPrice반환 SalePrice 하고 가 보다 FinalPrice큰지 여부를 SalePrice 평가합니다. true이고 false 0 이면 를 반환 -1 합니다. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
를 반환 ProductID하고 필드의 값을 로 QuantityByte변환하고 열에 Expr1 표시합니다. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
를 반환 ProductID하고 필드의 값을 로 DateofSaleDate변환하고 열에 Expr1 표시합니다. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
를 반환 ProductID하고 필드의 값을 로 DiscountDouble변환하고 열에 Expr1 표시합니다. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
를 반환 ProductID하고 필드의 값을 로 DiscountInteger변환하고 열에 Expr1 표시합니다. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
를 반환 ProductID하고 필드의 값을 로 DiscountLong변환하고 열에 Expr1 표시합니다. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
를 반환 ProductID하고 필드의 값을 로 DiscountSingle변환하고 열에 Expr1 표시합니다. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
를 반환 ProductID하고 필드의 값을 로 DiscountString변환하고 열에 Expr1 표시합니다. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
를 반환 ProductID하고 숫자 Discount 값을 로 Double변환하고 숫자가 아닌 값을 String로 변환합니다. |
VBA 예제
참고
다음 예제에서는 VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 방법을 보여 줍니다. VBA 작업에 대한 자세한 내용은 Access VBA 참조를 참조하세요.
CBool 함수
이 예제에서는 함수를 CBool 사용하여 식을 로 변환합니다 Boolean. 식이 0이 아닌 값 CBool 으로 계산되면 를 반환 True하고, 그렇지 않으면 를 반환합니다 False.
Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.
CByte 함수
이 예제에서는 함수를 CByte 사용하여 식을 로 변환합니다 Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
CCur 함수
이 예제에서는 함수를 CCur 사용하여 식을 로 변환합니다 Currency.
Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).
CDate 함수
이 예제에서는 함수를 CDate 사용하여 문자열을 로 변환합니다 Date. 일반적으로 이 예제와 같이 하드 코딩 날짜 및 시간을 문자열로 지정하는 것은 권장되지 않습니다. 대신 날짜 리터럴 및 시간 리터럴(예: #2/12/1969# 및 #4:45:23 PM#)을 사용합니다.
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)
CDbl 함수
이 예제에서는 함수를 CDbl 사용하여 식을 로 변환합니다 Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
CDec 함수
이 예제에서는 함수를 CDec 사용하여 숫자 값을 로 변환합니다 Decimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
CInt 함수
이 예제에서는 함수를 CInt 사용하여 값을 로 변환합니다 Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
CLng 함수
이 예제에서는 함수를 CLng 사용하여 값을 로 변환합니다 Long.
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.
CSng 함수
이 예제에서는 함수를 CSng 사용하여 값을 로 변환합니다 Single.
Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.
CStr 함수
이 예제에서는 함수를 CStr 사용하여 숫자 값을 로 변환합니다 String.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
CVar 함수
이 예제에서는 함수를 CVar 사용하여 식을 로 변환합니다 Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.