我需要从两列中收集数据,并合并它们,以使其仅是第一列的前六个和第二列的最后六个,以'+'分隔。有些输入的前面或后面都有怪异的空格,因此我们还必须使用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;
我仍然是这个网站和学习的新手,但是我尝试了尽可能多地添加!如果还有其他需要帮助的信息,请告诉我。
答案 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;