각 함수는 식을 특정 데이터 형식으로 변환합니다.
구문
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 음수 값의 경우 to -4.94065645841247E-324 , 4.94065645841247E-324 양수 값의 경우 to 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 음수 값의 경우 to -1.401298E-45 , 1.401298E-45 양수 값의 경우 to 3.402823E38 입니다. |
CStr |
String |
반환 값은 인수에 따라 달라집니다.expression |
CVar |
Variant |
숫자 값과 Double 동일한 범위입니다. 숫자가 아닌 값과 String 동일한 범위입니다. |
주의
expression 함수에 전달된 값이 변환하려는 데이터 형식의 범위를 벗어나면 오류가 발생합니다.
일반적으로 데이터 형식 변환 함수를 사용하여 코드를 문서화하여 작업 결과에 기본 형식 대신 특정 데이터 형식을 사용해야 함을 표시할 수 있습니다. 예를 들어 단정밀도, 배정밀도 또는 정수 연산이 일반적으로 발생하는 경우 통화 연산을 강제하는 데 사용합니다 CCur .
한 데이터 형식에서 다른 데이터 형식으로 로캘 인식 변환을 제공하는 대신 Val 데이터 형식 변환 함수를 사용합니다. 예를 들어 를 사용하는 CCur경우 Access에서는 컴퓨터의 로캘 설정에 따라 서로 다른 소수 구분 기호, 천 단위 구분 기호 및 통화 옵션을 인식합니다.
소수 부분이 정확히 0.5인 경우 항상 CIntCLng 가장 가까운 짝수로 반올림합니다. 예를 들어 0.5 로 반올림하고 0로 1.5 반올림합니다.2
CInt
CLng 숫자의 소수 부분을 반올림하는 대신 자르는 and Int 함수와 Fix 다릅니다.
Fix
Int 또한 항상 전달한 것과 동일한 유형의 값을 반환합니다.
함수를 IsDate 사용하여 날짜 또는 시간으로 변환할 수 있는지 여부를 date 결정합니다.
CDate 날짜 리터럴과 시간 리터럴뿐만 아니라 허용되는 날짜 범위에 속하는 일부 숫자를 인식합니다. 숫자를 날짜로 변환하면 정수 부분이 날짜가 됩니다. 소수 부분은 자정에 시작하는 시간대가 됩니다.
CDate 시스템 로캘 설정에 따라 날짜 형식을 인식합니다. 인식된 날짜 설정 중 하나가 아닌 형식을 제공하는 경우 Access에서 일, 월, 연도의 올바른 순서를 결정하지 못할 수 있습니다. 또한 요일 문자열도 포함하는 경우 긴 날짜 형식을 인식하지 못합니다.
이 CVDate 함수는 이전 버전의 Visual Basic과도 호환됩니다. 의 CVDate 구문은 함수와 CDate 동일합니다. 그러나 CVDate 하위 유형 Date 이 실제 Date 유형 대신 인 a Variant 를 반환합니다. 이제 Access에 내장 형식 Date 이 포함되어 있으므로 더 이상 CVDate. 식을 a Date 로 변환한 다음 에 Variant할당하여 동일한 효과를 얻을 수 있습니다. 이 기술은 다른 내장 형식을 해당 Variant 하위 형식으로 변환하는 것과 일치합니다.
참고
이 CDec 함수는 불연속 데이터 형식을 반환하지 않습니다. 대신 값이 하위 유형으로 Decimal 변환된 것을 Variant 항상 반환합니다.
쿼리 예제
| Expression | 결과 |
|---|---|
SELECT SalePrice, FinalPrice, CBool(SalePrice > FinalPrice) AS Expr1 FROM productSales; |
와 FinalPrice를 반환 SalePrice 하고 보다 큰지 여부를 SalePrice 평가합니다.FinalPrice true 0 이고 false이면 반환 -1 합니다. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
을(를) 반환ProductID합니다. 필드Byte의 Quantity 값을 로 변환하여 열에 Expr1 표시합니다. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
을(를) 반환ProductID합니다. 필드Date의 DateofSale 값을 로 변환하여 열에 Expr1 표시합니다. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
을(를) 반환ProductID합니다. 필드Double의 Discount 값을 로 변환하여 열에 Expr1 표시합니다. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
을(를) 반환ProductID합니다. 필드Integer의 Discount 값을 로 변환하여 열에 Expr1 표시합니다. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
을(를) 반환ProductID합니다. 필드Long의 Discount 값을 로 변환하여 열에 Expr1 표시합니다. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
을(를) 반환ProductID합니다. 필드Single의 Discount 값을 로 변환하여 열에 Expr1 표시합니다. |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
을(를) 반환ProductID합니다. 필드String의 Discount 값을 로 변환하여 열에 Expr1 표시합니다. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
를 반환합니다ProductID. Double숫자 값을 로 변환 Discount 하고 숫자가 아닌 값을 으(로) 반환합니다.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.