MySQL将两列组合成一列

aab*_*aab 92 mysql sql

我正在尝试找到一种方法将两列合并为一列,但在列中保持值为'0'而不是单词的组合.

这些是我和其他人一样的尝试:

SELECT column1 + column2 AS column3
FROM table;

SELECT column1 || column2 AS column3
FROM table;

SELECT column1 + ' ' + column2 AS column3
FROM table;
Run Code Online (Sandbox Code Playgroud)

有人可以让我知道我做错了什么吗?

Gor*_*off 153

我的猜测是你正在使用+运算符添加的MySQL ,以及将值静默转换为数字.如果值不以数字开头,则转换后的值为0.

试试这个:

select concat(column1, column2)
Run Code Online (Sandbox Code Playgroud)

两种添加空间的方法:

select concat(column1, ' ', column2)
select concat_ws(' ', column1, column2)
Run Code Online (Sandbox Code Playgroud)

  • @coder...这个问题被标记为"mysql".如果您对SQL Server有疑问,请将其作为问题提出,而不是在评论中. (4认同)

小智 20

试试这个,它对我有用

select (column1 || ' '|| column2) from table;
Run Code Online (Sandbox Code Playgroud)

  • 这看起来像甲骨文。 (4认同)

小智 13

这对我有用

SELECT CONCAT(column1, ' ' ,column2) AS newColumn;
Run Code Online (Sandbox Code Playgroud)


mat*_*ttk 5

当我在合并的列之间需要一个空格时,这是唯一对我有用的解决方案。

select concat(concat(column1,' '), column2)
Run Code Online (Sandbox Code Playgroud)


小智 5

如果你正在工作,Oracle那么:

SELECT column1 || column2 AS column3
FROM table;
Run Code Online (Sandbox Code Playgroud)

或者

如果您正在使用 MySql,那么:

SELECT Concat(column1 ,column2) AS column3
FROM table;
Run Code Online (Sandbox Code Playgroud)