使用trim函数缩小结果集

1hdlvixo  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(373)

我需要从两列中收集数据,把它们连接起来,这样就只有第一列的前六列和第二列的后六列,用“+”隔开。有些在前面或后面输入了奇怪的空格,所以我们还必须使用trim特性并去掉所有null。我还没有任何问题的第一部分,但正在努力使用修剪功能的方式,以提供所需的输出。
输出需要如下所示:

输入数据样本:

以下代码返回结果,但输出不匹配,因此我知道修剪是错误的:

SELECT CONCAT(SUBSTRING(baseball, 1, 6), ' + ',
SUBSTRING(football, -6)) AS MYSTRING 
FROM datenumtest2  
WHERE baseball IS NOT NULL AND football IS NOT NULL;

我还尝试了以下操作,但收到一条关于参数不正确的错误消息:

SELECT CONCAT(SUBSTRING(LTRIM(baseball, 1, 6)), ' + ',
SUBSTRING(RTRIM(football, -6))) AS MYSTRING 
FROM datenumtest2
WHERE baseball IS NOT NULL AND
football IS NOT NULL;

我仍然是新的这个网站和学习,但我已经试图包括尽可能多的我可以!如果有其他信息,我可以添加到帮助,请让我知道。

qnzebej0

qnzebej01#

你只需要使用 Trim() 在使用之前 Substring() 作用于它们:

SELECT CONCAT(SUBSTRING(TRIM(baseball), 1, 6), ' + ',
              SUBSTRING(TRIM(football), -6)) AS MYSTRING 
FROM datenumtest2  
WHERE baseball IS NOT NULL AND 
      football IS NOT NULL;

相关问题