2

请帮我 :

First_name | first_name | middle_name
           |            |
rrrr eeee  |   rrrr     | eeee
           |            |    
rrr eeeeeee|   rrr      | eeeeeee  
           |            |       
rr eeeee   |   rr       | eeeee

我想拆分first_nametofirst_namemiddle_name.

谢谢

4

2 回答 2

2

也许这个 sql 代码会有用:

SELECT 
  REGEXP_SUBSTR(name,'^[^ ]*')  first_name,
  REGEXP_SUBSTR(name, '([[:alpha:]]+)$')   middle_name
FROM TEST

注意:如果名称始终为FIRSTNAME "SPACE" MIDDLENAME ,则此方法有效。

你可以在这里运行这个sql fiddle

于 2013-08-15T18:04:06.390 回答
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)
于 2013-08-16T02:47:01.937 回答