logo

MySQL CAST() 함수

MySQL의 CAST() 함수는 한 데이터 유형의 값을 표현식에 지정된 다른 데이터 유형으로 변환하는 데 사용됩니다. 주로 WHERE, HAVING, JOIN 절과 함께 사용됩니다. 이 함수는 CONVERT() 함수와 유사합니다. MySQL .

다음은 이 함수가 완벽하게 작동하는 데이터 유형입니다.

데이터 형식 설명
날짜 값을 'YYYY-MM-DD' 형식의 DATE 데이터 유형으로 변환합니다. '1000-01-01'부터 '9999-12-31'까지의 DATE 범위를 지원합니다.
날짜 시간 값을 'YYYY-MM-DD HH:MM:SS' 형식의 DATETIME 데이터 유형으로 변환합니다. '1000-01-01 00:00:00' ~ '9999-12-31 23:59:59' 범위를 지원합니다.
시간 해당 값을 'HH:MM:SS' 형식의 TIME 데이터 유형으로 변환합니다. '-838:59:59'부터 '838:59:59'까지의 시간 범위를 지원합니다.
고정 길이 문자열을 포함하는 CHAR 데이터 유형으로 값을 변환합니다.
소수 값을 10진수 문자열을 포함하는 DECIMAL 데이터 유형으로 변환합니다.
서명됨 이는 부호 있는 64비트 정수를 포함하는 SIGNED 데이터 유형으로 값을 변환합니다.
서명되지 않음 이는 부호 없는 64비트 정수를 포함하는 UNSIGNED 데이터 유형으로 값을 변환합니다.
바이너리 값을 이진 문자열이 포함된 BINARY 데이터 유형으로 변환합니다.

통사론

MySQL의 CAST() 함수 구문은 다음과 같습니다.

 CAST(expression AS datatype); 

매개변수 설명

이 구문은 아래에서 설명할 두 개의 매개변수를 허용합니다.

매개변수 요구 사항 설명
표현 필수의 다른 특정 데이터 유형으로 변환될 값입니다.
데이터 형식 필수의 표현식 값을 변환해야 하는 값 또는 데이터 유형입니다.

반환 값

변환 후에는 변환하려는 데이터 유형의 값이 반환됩니다.

MySQL 버전 지원

CAST 함수는 다음 MySQL 버전을 지원할 수 있습니다.

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0

다음 예를 통해 MySQL CAST() 함수를 이해해 보겠습니다. SELECT 문과 함께 CAST 함수를 직접 사용할 수 있습니다.

실시예 1

이 문은 값을 DATE 데이터 유형으로 변환합니다.

 SELECT CAST('2018-11-30' AS DATE); 

산출

MySQL CAST() 함수

실시예 2

이 명령문은 값을 SIGNED 데이터 유형으로 변환합니다.

 SELECT CAST(3-6 AS SIGNED); 

산출

MySQL CAST() 함수

실시예 3

이 문은 값을 UNSIGNED 데이터 유형으로 변환합니다.

 SELECT CAST(3-6 AS UNSIGNED); 

산출

MySQL CAST() 함수

실시예 4

때로는 문자열을 명시적으로 정수로 변환해야 할 필요가 있습니다. 값을 INTEGER 데이터 유형으로 변환하려면 다음 명령문을 사용하십시오.

 SELECT (3 + CAST('3' AS SIGNED))/2; 

산출

MySQL CAST() 함수

실시예 5

다음 문은 먼저 정수 값을 문자열 데이터 유형으로 변환한 다음 지정된 다른 문자열과 연결을 수행합니다.

 SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR)); 

산출

MySQL CAST() 함수

실시예 6

이 예에서는 CAST 함수가 테이블에서 어떻게 작동하는지 살펴보겠습니다. 먼저 '테이블'을 만들어 보겠습니다. 명령 '에는 다음 데이터가 포함되어 있습니다.

MySQL CAST() 함수

위 표에서 Order_Date가 DATE 데이터 유형임을 알 수 있습니다. 이제 선택한 시간 범위 사이에서 제품 이름을 얻으려면 아래 명령문을 실행하십시오. 여기서는 WHERE 조건을 평가하기 전에 리터럴 문자열이 타임스탬프 값으로 변환됩니다.

 SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME); 

이 명령문은 다음과 같은 출력을 생성합니다.

MySQL CAST() 함수