MySQL 的CAST()和CONVERT()用法

转载 2013年12月04日 16:46:44

MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:

1 CAST(value as type);
2 CONVERT(value, type);

就是CAST(xxx AS 类型), CONVERT(xxx,类型)。

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

  • 二进制,同带binary前缀的效果 : BINARY    
  • 字符型,可带参数 : CHAR()     
  • 日期 : DATE     
  • 时间: TIME     
  • 日期时间型 : DATETIME     
  • 浮点数 : DECIMAL      
  • 整数 : SIGNED     
  • 无符号整数 : UNSIGNED 

下面举几个例子:

例一

1 mysql> SELECT CONVERT('23',SIGNED);
2 +----------------------+
3 | CONVERT('23',SIGNED) |
4 +----------------------+
5 |                   23 |
6 +----------------------+
7 1 row in set

例二

1 mysql> SELECT CAST('125e342.83' AS signed);
2 +------------------------------+
3 | CAST('125e342.83' AS signed) |
4 +------------------------------+
5 |                          125 |
6 +------------------------------+
7 1 row in set

例三

1 mysql> SELECT CAST('3.35' AS signed);
2 +------------------------+
3 | CAST('3.35' AS signed) |
4 +------------------------+
5 |                      3 |
6 +------------------------+
7 1 row in set

像上面例子一样,将varchar 转为int 用 cast(a as signed),其中a为varchar类型的字符串。

例4

在SQL Server中,下面的代码演示了datetime变量中,仅包含单纯的日期和单纯的时间时,日期存储的十六进制存储表示结果。

01 DECLARE @dt datetime
02   
03 --单纯的日期
04 SET @dt='1900-1-2'
05 SELECT CAST(@dt as binary(8))
06 --结果: 0x0000000100000000
07   
08 --单纯的时间
09 SET @dt='00:00:01'
10 SELECT CAST(@dt as binary(8))
11 --结果: 0x000000000000012C

MySQL的类型转换和SQL Server一样,就是类型参数有点点不同:CAST(xxx AS 类型) , CONVERT(xxx,类型)。

ISNULL函数,转换函数:cast和convert,Merge的用法,INSERTED/DELETED使用,select赋值

--选取某列值为空的结果 SELECT  [ID] ,         [Yo] FROM    [Test].[dbo].[Table_1] WHERE   Table_1.YO IS NU...

cast 和convert和concat详解以及mysql和sqlserver兼容问题

将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。 语法 使用 CAST: CAST ( expression AS data_type ) 使用 CON...

mysql类型转换函数convert与cast的用法

简单介绍下mysql数据库中用于类型转换的二个函数,convert与cast函数,有需要的朋友参考下。 首先,convert函数 字符集转换 :   CONVERT(xxx  USIN...
  • kouwoo
  • kouwoo
  • 2015年05月06日 14:45
  • 11176

mysql 类型转换convert和cast的用法

MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:   Sql代码   CAST(value as ty...

MYSQL VARCHAR排序 CAST ,CONVERT函数 类型转换

自己建表的时候,把一个字段类型创建为varchar(2) ,其实应该建为integer(2)的,但是今天在后台发现排序有问题,varchar排序有问题,所以该怎么解决呢? 示例表结构: 先来看一下...

mysql convert() cast()函数

CAST(expr AS type) The CAST() function takes a value of one type and produce a value of another...
  • xdz0611
  • xdz0611
  • 2012年04月21日 16:37
  • 1806

CONVERT和cast的用法

  • 2010年08月14日 17:02
  • 350B
  • 下载

SQL中的cast 和convert的区别

本文导读:SQL中的cast 和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。CAST 和 CONVERT 提供相似的功能,只是语法不同。在时间转化中一般用到convert...
  • hzp666
  • hzp666
  • 2017年07月10日 17:27
  • 253

cast与convert

数据类型的转换可以通过cast()和convert()函数来实现。大多数的情况下两个函数是重叠的,两个函数的功能相似但是语法不同。虽然并非所有类型的值都能转换成其他函数类型,但总的来说,任何可以转换的...

CAST 和 CONVERT (Transact-SQL)

CAST 和 CONVERT (Transact-SQL) SQL Server 2012 其他版本 1(共 1)对本文的评价是有帮助...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL 的CAST()和CONVERT()用法
举报原因:
原因补充:

(最多只允许输入30个字)