형식 변환 함수

적용 대상
Microsoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

각 함수는 식을 특정 데이터 형식으로 변환합니다.

구문

  • 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.5CIntCLng 항상 가장 가까운 짝수로 반올림합니다. 예를 들어 를 0.5 로 반올림 0하고 1.5 로 반올림합니다 2. CIntCLngFix 반올림하는 대신 숫자의 소수 부분을 자르는 및 함수와 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.