你的函数用错了,应该是concat(string1,string2,...)
mysql> create procedure `p4`()
-> begin
-> set sql_mode='ansi';
-> set @a=concat('haha','wawa');
-> end
-> //
Query OK, 0 rows affected (0.34 sec)mysql> call p4()//
Query OK, 0 rows affected (0.04 sec)mysql> select @a//
+----------+
| @a |
+----------+
| hahawawa |
+----------+
1 row in set (0.00 sec)
mysql> create procedure `p4`()
-> begin
-> set sql_mode='ansi';
-> set @a=concat('haha','wawa');
-> end
-> //
Query OK, 0 rows affected (0.34 sec)mysql> call p4()//
Query OK, 0 rows affected (0.04 sec)mysql> select @a//
+----------+
| @a |
+----------+
| hahawawa |
+----------+
1 row in set (0.00 sec)
mysql>set @a='haha';
mysql>set @b='wawa';
mysql>set sql_mode='ansi';
mysql>set @c=@a || @b;返回的就是正确的
hahawawa这两者是不同的吗?
Query OK, 0 rows affected (0.00 sec)mysql> delimiter //
mysql> CREATE PROCEDURE `p4`()
-> BEGIN
-> set @a='haha' || 'wawa';
-> END
-> //
Query OK, 0 rows affected (0.06 sec)mysql> delimiter ;mysql> call p4();
Query OK, 0 rows affected (0.00 sec)mysql> select @a;
+----------+
| @a |
+----------+
| hahawawa |
+----------+
1 row in set (0.00 sec)mysql> set sql_mode='';
Query OK, 0 rows affected (0.00 sec)mysql> set @a='';
Query OK, 0 rows affected (0.00 sec)mysql> call p4();
Query OK, 0 rows affected (0.00 sec)mysql> select @a;
+----------+
| @a |
+----------+
| hahawawa |
+----------+
1 row in set (0.00 sec)mysql> show create procedure p4;
+-----------+-------------------------------------------------------------+-----
--------------------------------------------------------------------------------
--+
| Procedure | sql_mode | Crea
te Procedure
|
+-----------+-------------------------------------------------------------+-----
--------------------------------------------------------------------------------
--+
| p4 | REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI | CREA
TE DEFINER="root"@"localhost" PROCEDURE "p4"()
BEGIN
set @a='haha' || 'wawa';
END |
+-----------+-------------------------------------------------------------+-----
--------------------------------------------------------------------------------
--+
1 row in set (0.00 sec)