从第一个单词获取3个字母,从下一个单词获取3个字母

时间:2019-10-11 10:17:43

标签: mysql sql

我正在尝试从第一个单词中获取前3个字母,从下一个单词中获取3个字母。数据库中的名称不同。如果名称是James Fiddler,我希望它是JAMFID

试图使用SUBSTRING_INDEX,但我不知道如何。

4 个答案:

答案 0 :(得分:0)

您是否已经尝试过将LEFT()函数与LOCATE()函数结合使用? https://www.w3resource.com/mysql/string-functions/mysql-left-function.php

在您的情况下,我认为这是(尚未测试)

SELECT LEFT(name, LOCATE(' ', name) - 1), LEFT(name, LOCATE(' ', name))

也许这篇文章可以为您提供帮助:Get all characters before space in MySQL

答案 1 :(得分:0)

SELECT CONCAT(SUBSTRING(SUBSTRING_INDEX(first,' ',1),1,3),SUBSTRING(SUBSTRING_INDEX(first,' ',-1),1,3) )FROM Test;

尝试一下...

答案 2 :(得分:0)

您可以尝试

SELECT UPPER(CONCAT(LEFT(SUBSTRING_INDEX(@name, ' ', 1),3)
,LEFT(SUBSTRING_INDEX(@name, ' ', -1),3)));

哪个给你

UPPER(CONCAT(LEFT(SUBSTRING_INDEX(@name, ' ', 1),3)
,LEFT(SUBSTRING_INDEX(@name, ' ', -1),3)))
JAMFID

答案 3 :(得分:0)

可能对您有帮助:

Declare @name varchar(100)='ABCDEFG PQRSTU'
SELECT Left(substring(@name, 1,charindex(' ',@name)),3)+LEFT(substring(@name, charindex(' ',@name)+1,len(@name)-charindex(' ',@name)+1),3)