Hello,大家好!我是程序员阿飞!今天从北京来了位项目经理,很热情,中午的时候,就带我们出去吃了一顿,很感谢领导。我们主要学习一下SQL中 CAST和CONVERT的区别

    1、作用

        两者都是用来获取一个类型的值,并产生另一个类型的值。

      2、语法

        CAST(value as type);

        CONVERT(value ,type);

      3、可以转换的类型

        二进制:BINARY

        字符型:CHAR

        日期:DATE

        时间:TIME

        日期时间型:DATETIME

        浮点型:DECIMAL

        整数:SIGNED

        无符号整数:UNSIGNED

      4、例子

        //将字符串转成整数(CONVERT)

        mysql> SELECT CONVERT('23',SIGNED);

        +----------------------+

        | CONVERT('23',SIGNED) |

        +----------------------+

        |                   23 |

        +----------------------+

        1 row in set (0.00 sec)

        //将字符串转成整数(CAST)

        mysql> SELECT CAST('3.35' AS SIGNED);

        +------------------------+

        | CAST('3.35' AS SIGNED) |

        +------------------------+

        |                      3 |

        +------------------------+

        1 row in set, 1 warning (0.00 sec)

        //将字符串转成时间类型(CONVERT)

       mysql> SELECT CONVERT('2019-03-20 09:49:58',DATETIME);

        +-----------------------------------------+

        | CONVERT('2019-03-20 09:49:58',DATETIME) |

        +-----------------------------------------+

        | 2019-03-20 09:49:58                     |

        +-----------------------------------------+

        1 row in set (0.00 sec)

        //将字符串转成时间类型(CAST)

       mysql> SELECT CAST('2019-03-20 09:56:58' AS SIGNED);

        +---------------------------------------+

        | CAST('2019-03-20 09:56:58' AS SIGNED) |

        +---------------------------------------+

        |                                  2019 |

        +---------------------------------------+

        1 row in set, 1 warning (0.00 sec)

    

        mysql> SELECT CONVERT(2.354 , DECIMAL);

        +--------------------------+

        | CONVERT(2.354 , DECIMAL) |

        +--------------------------+

        |                        2 |

        +--------------------------+

        1 row in set (0.00 sec)

    

       mysql> SELECT FORMAT(2.354 ,2);

        +------------------+

        | FORMAT(2.354 ,2) |

        +------------------+

        | 2.35             |

        +------------------+

        1 row in set (0.00 sec)

    

        mysql> SELECT FORMAT(2.367 ,2);

        +------------------+

        | FORMAT(2.367 ,2) |

        +------------------+

        | 2.37             |

        +------------------+

        1 row in set (0.00 sec)

    【分享时刻】

            我们挣钱的速度永远赶不上父母老去的速度!