Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 合并两个数字字符串_Mysql_Sql - Fatal编程技术网

Mysql 合并两个数字字符串

Mysql 合并两个数字字符串,mysql,sql,Mysql,Sql,MYSQL命令: UPDATE `tbl_objednavka` SET `TOTAL` = '6300', `EANS` = CAST('8433611369655;' AS char)+CAST(`EANS` AS char), `COUNTS` = CAST('1;' AS char)+CAST(`COUNTS` AS char) WHERE `ID_OBJEDNAVKA`=2; _____________________________________ |

MYSQL命令:

UPDATE `tbl_objednavka` SET
`TOTAL` = '6300',
`EANS` = CAST('8433611369655;' AS char)+CAST(`EANS` AS char),
`COUNTS` = CAST('1;' AS char)+CAST(`COUNTS` AS char)
WHERE `ID_OBJEDNAVKA`=2;

_____________________________________
|                 |                 |
|      EANS       |     COUNTS      |
+-----------------+-----------------+
|                 |                 |
|  8433611364094  |        1        |
+-----------------+-----------------+
它是因为某种奇怪的原因“8433611369655;”不要合并字符串,而是将一个数字添加到另一个数字中,因此我得到如下结果:1.6867223e+13…
我需要一个数组,所以这个:8433611369655;EANS和1中的8433611364094;1支
我可以使用php实现这一点,但我希望只使用SLQ

UPDATE `tbl_objednavka` SET
`TOTAL` = '6300',
`EANS` = CONCAT('8433611369655;', CAST(`EANS` AS char)),
`COUNTS` = CONCAT('1;', CAST(`COUNTS` AS char))
WHERE `ID_OBJEDNAVKA`=2;

MySQL不使用
+
进行字符串连接,您必须使用
CONCAT()
函数。

您使用的是MySQL,因此您希望使用
CONCAT()
而不是
+
进行字符串连接

此外,决不能将值转换为没有长度的
char()
。不过,在这种情况下,我认为
varchar()
将是更合适的类型

但是,我建议提出以下问题:

UPDATE `tbl_objednavka`
    SET `TOTAL` = '6300',
       `EANS` = concat('8433611369655;', `EANS`),
       `COUNTS` = concat('1;', `COUNTS`)
    WHERE `ID_OBJEDNAVKA`=2;
你似乎根本不需要演员。
EANS
COUNTS
的类型应以字符开头,因为您正在为它们分配字符值


如果它们是数字,则需要更改表,以便它们可以保存所需的值。实际上,我建议在这种情况下添加新列。或者,使用视图来创建新列。

+
用于添加数字,请使用
CONCAT()
函数来连接字符串。它可以有多个ean,我不希望它们位于另一个单独的表中。。。但是,是的,它会更正确,它将遵循名义形式