使用修整功能缩小结果集的范围

时间:2018-11-04 15:27:35

标签: mysql trim

我需要从两列中收集数据,并合并它们,以使其仅是第一列的前六个和第二列的最后六个,以'+'分隔。有些输入的前面或后面都有怪异的空格,因此我们还必须使用trim功能并消除所有NULL。我对第一部分没有任何问题,但是正在努力使用修整功能以提供所需的输出。
输出需要如下所示:

neededoutput

输入数据示例:

sample

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

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;

我仍然是这个网站和学习的新手,但是我尝试了尽可能多地添加!如果还有其他需要帮助的信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

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