如何在mysql select语句中插入文本并在语句中显示输出?

ctzwtxfj  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(379)

我试过这个

select t1.name+' used '+t2.amount+' Credit' as History from table t2
  inner join table1 t1 on t1.userId=t2.userId order by t2.transaction_date DESC LIMIT 5;

我得到的结果是

但我想要这样的输出

如何使用mysql select语句获得像image2这样的输出?

x8diyxa7

x8diyxa71#

我认为最好的解决方案是使用mysql CONCAT() 函数用于添加两个或多个字符串。

jtw3ybtb

jtw3ybtb2#

mysql不使用 + 用于串联的运算符。使用 CONCAT 取而代之的是:

SELECT CONCAT(t1.name, ' used ', t2.amount, ' Credit') AS History
FROM table t2
INNER JOIN table1 t1
    ON t1.userId = t2.userId
ORDER BY t2.transaction_date DESC
LIMIT 5;

使用 + 因为字符串连接看起来像sql server语法(可能还有一些mysql以外的其他数据库)。然而,mysql可以使用 || 对于串联,如果设置特定模式:

SET sql_mode = PIPES_AS_CONCAT;

然后我们可以写下 SELECT 声明为:

SELECT t1.name || ' used ' || t2.amount || ' Credit' AS History

相关问题