请帮帮我:
First_name | first_name | middle_name
| |
rrrr eeee | rrrr | eeee
| |
rrr eeeeeee| rrr | eeeeeee
| |
rr eeeee | rr | eeeee
我想将first_name
拆分为first_name
和middle_name
。
由于
答案 0 :(得分:2)
也许这个sql代码会很有用:
SELECT
REGEXP_SUBSTR(name,'^[^ ]*') first_name,
REGEXP_SUBSTR(name, '([[:alpha:]]+)$') middle_name
FROM TEST
注意:如果名称始终为 FIRSTNAME" SPACE"中间名即可。
您可以在此处 sql fiddle 运行此内容。
答案 1 :(得分:2)
如果你真的只需找到一个空格字符,你可以通过删除正则表达式来加快速度
SELECT
substr(name, 1, instr(name, ' ')-1) first_name,
substr(name, instr(name, ' ')+1) middle_name
FROM TEST
甚至
SELECT
substr(name, 1, space_pos-1) first_name,
substr(name, space_pos+1) middle_name
FROM (SELECT name,
instr(name, ' ') space_pos
FROM TEST)