MySQL의 CAST() 및 CONVERT() 함수를 사용하여 한 유형의 값을 얻고 다른 유형의 값을 생성할 수 있습니다. 둘의 구체적인 구문은 다음과 같습니다.
CAST(value as type); CONVERT(value, type);
은 CAST(xxx AS 유형), CONVERT(xxx, 유형)입니다.
변환할 수 있는 종류가 제한되어 있습니다. 이 유형은 다음 값 중 하나일 수 있습니다.
바이너리(바이너리 접두사의 효과 포함): BINARY
문자 유형, 매개변수를 사용할 수 있습니다: CHAR()
날짜: DATE
시간: TIME
날짜 시간 유형: DATETIME
부동 소수점 수: DECIMAL
정수: SIGNED
부호 없는 정수: 서명되지 않음
다음은 몇 가지 예입니다.
예 1
mysql> SELECT CONVERT('23',SIGNED); +----------------------+ | CONVERT('23',SIGNED) | +----------------------+ | 23 | +----------------------+ 1 row in set
예 2
mysql> SELECT CAST('125e342.83' AS signed); +------------------------------+ | CAST('125e342.83' AS signed) | +------------------------------+ | 125 | +------------------------------+ 1 row in set
예 3
mysql> SELECT CAST('3.35' AS signed); +------------------------+ | CAST('3.35' AS signed) | +------------------------+ | 3 | +------------------------+ 1 row in set
위의 예와 같이 Cast(a as signed)를 사용하여 varchar를 int로 변환합니다. 여기서 a는 varchar 유형의 문자열입니다.
예제 4
SQL Server에서 다음 코드는 datetime 변수에 단순 날짜와 단순 시간만 포함된 경우 날짜 저장의 16진수 저장 결과를 보여줍니다.
DECLARE @dt datetime --单纯的日期 SET @dt='1900-1-2' SELECT CAST(@dt as binary(8)) --结果: 0x0000000100000000 --单纯的时间 SET @dt='00:00:01' SELECT CAST(@dt as binary(8)) --结果: 0x000000000000012C
MySQL의 유형 변환은 SQL Server의 유형 변환과 동일하지만 CAST(xxx AS 유형), CONVERT(xxx, 유형) 등 유형 매개변수가 약간 다릅니다.