• mysql> SELECT CAST( '3.35' AS signed);
  • + ------------------------+
  • | CAST( '3.35' AS signed) |
  • + ------------------------+
  • |                      3 |
  • + ------------------------+
  • 1 row in set
  • 可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

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

    下面举几个例子:

    例一

  • mysql> SELECT CONVERT( '23',SIGNED);
  • + ----------------------+
  • | CONVERT( '23',SIGNED) |
  • + ----------------------+
  • |                   23 |
  • + ----------------------+
  • 1 row in set
  • mysql> SELECT CAST( '125e342.83' AS signed);
  • + ------------------------------+
  • | CAST( '125e342.83' AS signed) |
  • + ------------------------------+
  • |                          125 |
  • + ------------------------------+
  • 1 row in set
  • mysql> SELECT CAST( '3.35' AS signed);
  • + ------------------------+
  • | CAST( '3.35' AS signed) |
  • + ------------------------+
  • |                      3 |
  • + ------------------------+
  • 1 row in set
  • 像上面例子一样,将varchar 转为int 用 cast(a as signed),其中a为varchar类型的字符串。