MySQL CAST 函数与 CONVERT 函数

您所在的位置:网站首页 sql的数字只取整数 MySQL CAST 函数与 CONVERT 函数

MySQL CAST 函数与 CONVERT 函数

2023-06-04 22:47| 来源: 网络整理| 查看: 265

文章目录 CAST 函数与 CONVERT 函数1. 数字和小数点组成的字符串转换为整型2. 非数值字符串转换为整型3. 把整型转换为二进制4. 数字和小数点组成的字符串转换为浮点型

CAST 函数与 CONVERT 函数

在这里插入图片描述

前面我们介绍的两个函数用于字符串和日期类型之间进行相互转换,有时我们需要数据之间的转换不仅仅局限在字符串和日期之前。接下来笔者给大家介绍的 cast() 函数和 convert() 函数可实现数据在不同类型之间进行转换。

cast() 函数和 convert() 函数对比:

两者都是进行数据类型转换,作用基本等同。两者的语法不同。

函数的语法如下:

cast(value as type)

其中,value 表示待转数据,as 固定语法格式,type 表示转换后的数据类型 convert() 函数的语法如下:

convert(value,type)

其中,value 表示待转数据,type 表示转换后的数据类型 无论是 cast() 函数还是 convert() 函数,他们的转换也有一定的局限性,那就是它们仅支持以下数据类型的转换:

binary:二进制类型;char:字符类型;date:日期类型;time:时间类型;datetime:日期时间类型;decimal:浮点型;signed:整型;unsigned:无符号整型。

下面进行演示:

1. 数字和小数点组成的字符串转换为整型 MariaDB [(none)]> select cast('3.14' as signed); +------------------------+ | cast('3.14' as signed) | +------------------------+ | 3 | +------------------------+ 1 row in set, 1 warning (0.000 sec)

注意:使用convert()函数则是:convert(‘3.12’,signed),得到的结果相同。

2. 非数值字符串转换为整型 MariaDB [(none)]> select cast('30a1.14' as signed); +---------------------------+ | cast('30a1.14' as signed) | +---------------------------+ | 30 | +---------------------------+ 1 row in set, 1 warning (0.000 sec)

注意:在转换为整型的时候,如果遇到无法识别的字符则停止转换,只返回能正常识别的部分。如果一开始就无法识别则返回 0。

3. 把整型转换为二进制 MariaDB [(none)]> select cast(123 as binary); +---------------------+ | cast(123 as binary) | +---------------------+ | 123 | +---------------------+ 1 row in set (0.000 sec) 4. 数字和小数点组成的字符串转换为浮点型 MariaDB [(none)]> select cast(12.14 as decimal(3, 1)); +------------------------------+ | cast(12.14 as decimal(3, 1)) | +------------------------------+ | 12.1 | +------------------------------+ 1 row in set (0.000 sec)

结果解析:decimal(m,n) ,其中 m>n,表示总共 m 位数据,其中小数 n 位,整数 m-n 位。

其他类型之间的转换,读者朋友们可以在自己的 MySQL 数据库中去尝试,就不一一举例了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3