使用 trim 函数缩小结果集

Using the trim function to narrow down results set

我需要从两列收集数据,将它们连接起来,以便只有第一列的前六个和第二列的最后六个,用“+”分隔。有些已经输入了前面或后面奇怪的空格,所以我们也必须使用 trim 功能并去掉所有的 NULL。我对第一部分没有任何问题,但我正在努力以提供所需输出的方式使用 trim 功能。
输出需要如下所示:

输入数据样本:

以下代码 returns 结果,但输出不匹配所以我知道 trim 是错误的:

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;

我对这个网站还很陌生,还在学习,但我已经尽可能多地包含了!如果我可以添加其他信息以提供帮助,请告诉我。

您只需在列上使用 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;