mysql - 仅从 mySQL 中的特定字符的左侧和右侧获取字符

标签 mysql string locate

我有一个列表,其中一个变量是 Player,如果有一个玩家的名字,然后是一个“_”,还有一个姓氏,如下所示:

Mike_Gonzalez

我想从玩家变量中创建两个新变量。第一个变量是 firstName,所以我想要“”左侧的所有字符。第二个变量是 lastName,它是“”右边的所有字符。

我试过使用 LEFT(Player, LOCATE('_', Player)),但是当我这样做时,新变量包含 _。

我怎样才能运行代码,使我能够在没有 _ 的情况下获得名字和姓氏?

感谢您的帮助。

最佳答案

除了将 LEFT()RIGHT()LOCATE() 结合使用外,您还可以使用 SUBSTRING_INDEX() :

SELECT
    SUBSTRING_INDEX(Player, '_', 1) AS FirstName
  , SUBSTRING_INDEX(Player, '_', -1) AS LastName

关于mysql - 仅从 mySQL 中的特定字符的左侧和右侧获取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7856754/

相关文章:

php - 多选选项

Javascript:循环遍历数组中元素的字符

linux - 使用 locate、pipe 和 grep 查找名称中包含特定关键字的文件

mysql - 将特定 CONCAT MYSQL 转换为 PDO Laravel

php - 从数据库中获取信息而无需注销并重新登录

mysql - 如何找到给定数字频率的中位数?

java - Java 中附加字符串与附加字符

python - 根据条件从列表的数据框列中计算和删除元素

mysql - 选择定位效果不佳

mysql - 在 MySQL 字段中查找特定的子字符串