日期: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中可以直接使用加号“+”来拼接字符串。