日期:2014-05-16  浏览次数:20527 次

字符串连接

?

mysql> select 'abc'+'123';

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

| 'abc'+'123' |

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

|         123 |

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

1 row in set, 1 warning (0.00 sec)



mysql> select '123'+'123';

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

| '123'+'123' |

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

|         246 |

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

1 row in set (0.00 sec)



mysql> select 123+123;

+---------+

| 123+123 |

+---------+

|     246 |

+---------+

1 row in set (0.00 sec)



mysql> select concat('123','123');

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

| concat('123','123') |

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

| 123123              |

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

1 row in set (0.00 sec)



mysql> select concat('123',123);

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

| concat('123',123) |

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

| 123123            |

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

1 row in set (0.00 sec)



mysql> select concat(123,123);

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

| concat(123,123) |

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

| 123123          |

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

1 row in set (0.00 sec)

mysql> select concat(123,123,123);

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

| concat(123,123,123) |

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

| 123123123           |

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

1 row in set (0.00 sec)

?仔细观察上面测试,MYSQL会尝试将加号两端的字段值尝试转换为数字类型,如果转换失败则认为字段值为0。在MYSQL中进行字符串的拼接要使用CONCAT函数,CONCAT函数支持一个或者多个参数,参数类型可以为字符串类型也可以是非字符串类型,对于非字符串类型的参数MYSQL将尝试将其转化为字符串类型,CONCAT函数会将所有参数按照参数的顺序拼接成一个字符串做为返回值。与MYSQL不同,MSSQLServer中可以直接使用加号“+”来拼接字符串。