获取两个字符MYSQL之间的字符串

时间:2018-06-07 05:35:57

标签: php mysql select

如何在句点的最后一次出现之前获取字符串,然后在第一次出现的字符串之前获取空格? MYSQL

我无法解释,但这是一个视觉辅助。非常感谢你。

enter image description here

3 个答案:

答案 0 :(得分:1)

您可以使用MYSQL函数:

SUBSTRING_INDEX(str, delim, count);

Referance:https://www.w3resource.com/mysql/string-functions/mysql-substring_index-function.php

喜欢:

SELECT (SUBSTRING_INDEX('Lennon, John W.','John',2),' ',-1);

它会输出W.

答案 1 :(得分:0)

使用Sambhaji的答案我制定了这个,它适用于所有实例(上面的例子)

SELECT 
    (CASE
        WHEN LENGTH(NAME) - LENGTH(REPLACE(NAME, '.', '')) = 1
            THEN CONCAT( SUBSTRING_INDEX(SUBSTRING_INDEX(NAME,'.',1),' ',- 1),'. ')
        WHEN LENGTH(NAME) - LENGTH(REPLACE(NAME, '.', '')) = 2 
            THEN CONCAT( SUBSTRING_INDEX(SUBSTRING_INDEX(NAME,'.',1),' ',- 1),'. ', SUBSTRING_INDEX(SUBSTRING_INDEX(NAME,'.', 2),' ', -1), '.')
        ELSE NULL
    END) NAME

答案 2 :(得分:-1)

您可以在sql statment中使用“赞”条件