当前位置:网站首页>[Mysql] CONVERT函数
[Mysql] CONVERT函数
2022-07-30 05:30:00 【iijik55】
CONVERT函数用于将值转换为指定的数据类型或字符集
1.转换指定字符集
CONVERT函数用于将字符串expr的字符集变成transcoding_name
语法结构
CONVERT(expr USING transcoding_name)
expr: 要转换的值
transcoding_name: 要转换成的字符集
-- utf8mb4
SELECT CHARSET('ABC');
-- gbk
SELECT CHARSET(CONVERT('ABC' USING gbk));
2.转换指定数据类型
CONVERT函数用于将字符串expr的字符集变成transcoding_name
语法结构
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(浮点数)格式
BINARY
将expr转换成二进制格式
示例
1.将值转换为DATE数据类型
-- 2022-05-25
SELECT CONVERT('2022-05-25', DATE);
-- 2022-05-25 17:58:48
SELECT NOW();
-- 2022-05-25
SELECT CONVERT(NOW(), DATE);
2.将值转换为DATETIME数据类型
-- 2022-05-25 00:00:00
SELECT CONVERT('2022-05-25', DATETIME);
3.将值转换为TIME数据类型
-- 14:06:10
SELECT CONVERT('14:06:10', TIME);
-- 2022-05-25 17:25:12
SELECT NOW();
-- 17:25:12
SELECT CONVERT(NOW(), TIME);
4.将值转换为CHAR数据类型
-- '150'
SELECT CONVERT(150, CHAR);
-- 出错Error
SELECT CONCAT('Hello World',437));
-- 'Hello World437'
SELECT CONCAT('Hello World',CONVERT(437, CHAR));
5.将值转换为SIGNED数据类型
-- 5
SELECT CONVERT('5.0', SIGNED);
-- 2
SELECT (1 + CONVERT('3', SIGNED))/2;
-- -5
SELECT CONVERT(5-10, SIGNED);
-- 6
SELECT CONVERT(6.4, SIGNED);
-- -6
SELECT CONVERT(-6.4, SIGNED);
-- 7
SELECT CONVERT(6.5, SIGNED);
-- -7
SELECT CONVERT(-6.5, SIGNED);
6.将值转换为UNSIGNED数据类型
-- 5
SELECT CONVERT('5.0', UNSIGNED);
-- 6
SELECT CONVERT(6.4, UNSIGNED);
-- 0
SELECT CONVERT(-6.4, UNSIGNED);
-- 7
SELECT CONVERT(6.5, UNSIGNED);
-- 0
SELECT CONVERT(-6.5, UNSIGNED);
7.将值转换为DECIMAL数据类型
-- 9
SELECT CONVERT('9.0', DECIMAL);
-- DECIMAL(数值精度,小数点保留长度)
-- DECIMAL(10,2)可以存储最多具有8位整数和2位小数的数字
-- 精度与小数位数分别为10与2
-- 精度是总的数字位数,包括小数点左边和右边位数的总和
-- 小数位数是小数点右边的位数
-- 9.50
SELECT CONVERT('9.5', DECIMAL(10,2));
-- 99999999.99
SELECT CONVERT('1234567890.123', DECIMAL(10,2));
-- 220.232
SELECT CONVERT('220.23211231', DECIMAL(10,3));
-- 220.232
SELECT CONVERT(220.23211231, DECIMAL(10,3));
CAST函数也能够实现数据类型转换
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢

el-table中加入el-input框和el-input-number框,实现el-table的可编辑功能

curl (7) Failed connect to localhost8080; Connection refused

MySQL(3)

从驱动表和被驱动表来快速理解MySQL中的内连接和外连接

go版本升级

Hexagon_V65_Programmers_Reference_Manual (12)

使用DataEase开源工具制作一个高质量的数据大屏

Golang go-redis cluster模式下不断创建新连接,效率下降问题解决

Record of problems encountered by the pyinstaller packager

MySQL基础(DDL、DML、DQL)
随机推荐
容器化 | 在 KubeSphere 中部署 MySQL 集群
Kyligence 出席华为全球智慧金融峰会,加速拓展全球市场
mysql基础(4)
MySql string splitting realizes the split function (field splitting, column switching, row switching)
Mysql8.+学习笔记
[GLib] 什么是GType
RadonDB MySQL on K8s 2.1.3 发布!
剑指offer(刷题篇12)
Concurrent Programming Review
curl (7) Failed connect to localhost8080; Connection refused
即刻报名|如何降低云上数据分析成本?
Acwing perfect number
Within the SQL connection table (link connections, left or right, cross connection, full outer join)
翻译 | Kubernetes 将改变数据库的管理方式
给小白的 PostgreSQL 容器化部署教程(上)
Docker-compose install mysql
839. 模拟堆
CSDN Meetup 回顾 丨从数据湖到指标中台,提升数据分析 ROI
[其他] DS5
postman 请求 post 调用 传 复合 json数据