好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Oracle将一列分成多列

TABLE CELEBRITY( NAME VARCHAR2( 100 ) ); INSERT INTO CELEBRITY VALUES ( ‘Stephen King‘ ); INSERT INTO CELEBRITY VALUES ( ‘Tom Hanks‘ ); INSERT INTO CELEBRITY VALUES ( ‘Christopher Nolan‘ );

查询该表其结构如下:

NAME Stephen King Tom Hanks Christopher Nolan

现在将表分割成两列:

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

其中我们使用到了REGEXP_SUBSTR函数,其使用正则进行匹配,将一列分成两列,其结果如下:

FIRST_NAME MIDDLE_NAME Stephen King Tom Hanks Christopher Nolan

当然,我们可以使用INSTR函数来进行分割:

  SELECT  
    SUBSTR(NAME,  1 ,  INSTR (NAME,  ‘ ‘ )- 1 ) FIRST_NAME,
    SUBSTR(NAME,  INSTR (NAME,  ‘ ‘ )+ 1 ) MIDDLE_NAME
 FROM   CELEBRITY 

或者我们这样:

  SELECT 
  SUBSTR(NAME,  1 , SPACE_POS- 1 ) FIRST_NAME,
  SUBSTR(NAME, SPACE_POS+ 1 ) MIDDLE_NAME
 FROM  ( SELECT  NAME, INSTR (NAME,  ‘ ‘ ) SPACE_POS
 FROM  CELEBRITY) 

以上方法均可以将一列分成两列。

$(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘ ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i ‘).text(i)); }; $numbering.fadeIn(1700); }); });

Oracle将一列分成多列

标签:

查看更多关于Oracle将一列分成多列的详细内容...

  阅读:48次