如何从mysql中获取字符串中的第一个字母?

时间:2017-11-07 06:52:37

标签: mysql

我有一张名为leaves的表

id    leave_name     status

 1   Casual Leave     0

 2   Sick Leave       0

我需要获得假名的第一个字母,例如 CL,SL

我尝试了LEFT()但字符串长度没有预定义。

1 个答案:

答案 0 :(得分:3)

这里有一个明显的边缘情况,如果休假名称应该有两个以上的条款,应该会发生什么。我假设您只需要前两个单词的首字母,无论出现多少。

SELECT
    CASE WHEN INSTR(leave_name, ' ') > 0 THEN
         CONCAT(LEFT(leave_name, 1),
                SUBSTRING(leave_name, INSTR(leave_name, ' ') + 1, 1))
         ELSE LEFT(leave_name, 1) END AS initials
FROM yourTable;

当只有一个单词存在时,我还添加了边缘情况的覆盖范围。在这种情况下,我们只取这个单词的单个首字母。

Demo