zoukankan      html  css  js  c++  java
  • Mysql中字符串正确的连接方法

    虽然SQL server和My sql的语句基本都一致,但是仍然存在一些小区别。就如字符串的连接来说,SQL server中的字符串连接是使用“+”来连接,不带引号sql server是做加法运算。而my sql中无论是带引号和不带引号,它都将其先转成数字型,然后在做运算。 

    SQL Server中字符串的连接:

    ps:Age=21 

    SELECT '12'+'34',Age+1 
    FROM table 

    其结果输出结果是第一列是1234,第二列是22。 

    MySQl中字符串连接: 

    SELECT '12'+'34','1abc'+'22','abc'+'3'
     FROM table 

    很惊讶发现其输出结果是:第一列为46,第二列23,第三列为3。 

    注:在Mysql中,使用“+”进行字符连接时,mysql会尝试将字段值转换为数字类型(如果转换失败,就当做数字0处理)。如’1abc’+’22′,mysql将“1abc”转成数字1在进行运算;将“abc”当做0处理。 

    在MYSQL中进行字符串的拼接要使用CONCAT函数,CONCAT函数支持一个或者多个参数,参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为返回值。

    比如下面的SQL语句用于将用户的多个字段信息以一个计算字段的形式查询出来:

    SELECT CONCAT('学号:',XNumber,'的综合成绩:',FSalary/(FAge-21)) 
    FROM user 

    其输出结果是:学号2010010035的综合成绩是90。

  • 相关阅读:
    814. Binary Tree Pruning
    50. Pow(x, n)
    698. Partition to K Equal Sum Subsets
    416. Partition Equal Subset Sum
    150. Evaluate Reverse Polish Notation
    322. Coin Change
    Vulnerable Kerbals CodeForces
    D. Domino for Young
    C. Long Beautiful Integer
    B. Modulo Equality
  • 原文地址:https://www.cnblogs.com/zhengah/p/5199843.html
Copyright © 2011-2022 走看看