将MySQL字符串拆分为两个字段

时间:2019-03-21 13:11:14

标签: mysql string split

简而言之,我有一个PHP表单,要求输入员工ID,电子邮件和密码,以将用户添加到可以正常工作的数据库中。

数据库中的表还具有“名字”和“姓氏”字段。

由于以表格形式询问fname和lname的权力太过远了,所以我想拆分员工id,以便至少填充fname。姓氏我们也不必太在意,因为它毕竟不是唯一的。

简而言之,每个员工ID由相同的格式组成,即名字后跟数字(即John12345,Mark67890(每个员工ID的5位数字,名字后)。我想将员工ID插入数据库中,同时,在第一个数字(或最后一个字母)处拆分并填充名字(只要完整的员工ID即可清除字符串拆分的其余部分)被插入到employee_id中)。

我读到MySQL中没有拆分功能,因此我试图找出实现此目的的最佳方法。

2 个答案:

答案 0 :(得分:0)

您必须按如下所示使用向左和向右功能:

SET @employee = 'Employee12345';
SELECT RIGHT(@employee ,5), LEFT(@employee, LENGTH(@employee)-5);

因为员工号代码是5位数字,所以您可以使用此代码。 如果要插入另一个表,则必须使用INSERT INTO SELECT语句,如下所示:

Insert into _newtable Select RIGHT(_employee ,5), LEFT(_employee, LENGTH(_employee)-5) FROM _oldtable;

_employee是您的旧表字段。

答案 1 :(得分:0)

我使用的方法比此处提出的解决方案好得多:

我在电子邮件字段上使用了php explode(强制为firstname.lastinitial

$email = "myemail@someemail.com";
$firstname = explode(".", $email)[0];
$lastname = explode("@", explode(".", $email)[1])[0];
$username = $firstname . " " . $lastname;