可以通过 SUBSTRING()、LEFT() 和 RIGHT() 函数,以及 CHARINDEX() 函数来拆分名称和学号。
以下是一个示例 SQL 查询,它将从 EMERGENCY_PERSONNE 字段中选择员工姓名和员工学号,并使用子字符串函数拆分它们:
SELECT
LEFT(EMERGENCY_PERSONNE, CHARINDEX('(', EMERGENCY_PERSONNE)-1) AS EMPLOYEE_NAME,
SUBSTRING(EMERGENCY_PERSONNE, CHARINDEX('(', EMERGENCY_PERSONNE)+1, CHARINDEX(')', EMERGENCY_PERSONNE)-CHARINDEX('(', EMERGENCY_PERSONNE)-1) AS EMPLOYEE_ID
FROM your_table;
其中,LEFT() 函数用于提取左括号之前的字符串,以获得员工名称,SUBSTRING() 函数用于提取括号内的字符串,以获得员工学号。
请注意,此查询假设每个名称都包含一个左括号和一个右括号,否则将会产生错误。需要修改your_table 为你的表名称
该回答引用chatgpt:
把字段和表名换成你自己的就行了
SELECT
SUBSTRING_INDEX(`name`, '(', 1) AS name,
SUBSTRING_INDEX(SUBSTRING_INDEX(`name`, '(', -1), ')', 1) AS employee_id
FROM
employee;
可以使用 SQL 中的 SUBSTRING 函数来拆分字段内容,其语法如下:
SUBSTRING(string, start, length)
其中,string 为要拆分的字段名称或字符串,start 为开始拆分的位置,length 为需要拆分的长度。
根据括号去截取下
select substr2('张三(123456)', 0, instr('张三(123456)', '(') - 1) name,
substr2('张三(123456)', instr('张三(123456)', '(') + 1, 6) code
from dual;