convert语法结构:CONVERT(expr,type)
expr: 要转换的值
type: 要转换为的数据类型
type 取值如下表所示:
值 | 描述 |
---|---|
DATE | 将expr转换成’YYYY-MM-DD’格式 |
DATETIME | 将expr转换成’YYYY-MM-DD HH:MM:SS’格式 |
TIME | 将expr转换成’HH:MM:SS’格式 |
CHAR | 将expr转换成CHAR(固定长度的字符串)格式 |
SIGNED | 将expr转换成INT(有符号的整数)格式 |
UNSIGNED | 将expr转换成INT(无符号的整数)格式 |
DECIMAL | 将expr转换成FLOAT(浮点数)格式 |
例子1,把char字符串转换为date日期类型
select convert('20210501', date);
结果是日期类型date类型的数据:2021-05-01
例子2,把char字符串转换为date日期类型
select convert('2021-05-20 13:14:00', date);
结果是日期类型date类型的数据:2021-05-20
例子3,把char字符串转换为datetime日期类型
select convert('20210501', datetime);
结果是日期类型date类型的数据:2021-05-01 00:00:00
例子4,把char转换为数字类型,类型用decimal(10,2)表示最多10位,其中整数位为8位,小数为为2位。会四舍五入保留2位小数。
select CONVERT('12.1234', decimal(10,2))
结果是日期类型date类型的数据:12.12
例子5,把char转换为数字类型,类型用decimal(10,2)表示最多10位,其中整数位为8位,小数为为2位。会四舍五入保留2位小数。
select CONVERT('12.1254', decimal(10,2))
结果是日期类型date类型的数据:12.13
例子6,把char转换为数字类型,类型用decimal(10,2)表示最多10位,其中整数位为8位,小数为为2位。会四舍五入保留2位小数。
select CONVERT('12.1', decimal(10,2))
结果是日期类型date类型的数据:12.1
这里的例子如果java的ORM映射工具例如mybatis配置好的时候就是会设置为12.10自动保留了2位小数;如果没处理好就是1位小数。