MySQL select_expr用于只显示记录的一部分?

时间:2014-05-10 21:04:23

标签: mysql sql

我正在将.csv文件内容导入到Mysql数据库中,并且从表中显示的其中一条记录是' name',但客户端只想显示客户的名字。以下是' name'的当前格式。来自.csv文件:

," SMITH,DEB",

我可以轻松地提取并显示整个名称,但我会使用 select_expr 来仅提取名字(上例中的DEB)?

谢谢!

1 个答案:

答案 0 :(得分:1)

最好有两列并分别存储名字。您可以使用

获取您的名字
SELECT LTRIM(SUBSTRING_INDEX('SMITH, DEB', ',', -1)); 

SUBSTRING_INDEX以-1作为最后一个参数获取最后一个逗号后的部分。使用LTRIM可以删除前导空白。

请参阅MySQL manual, function SUBSTRING_INDEX

所以你可以使用

SELECT 
    *, 
    LTRIM(SUBSTRING_INDEX(name, ',', -1)) AS firstname
FROM 
    managers 
WHERE 
    account_manager_id = '$account_manager_id'

并在附加列firstname

中使用名字