Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables PL/SQL Select-将列数据转换为每行1个字符的行_Variables_Loops_Select_Plsql_Substr - Fatal编程技术网

Variables PL/SQL Select-将列数据转换为每行1个字符的行

Variables PL/SQL Select-将列数据转换为每行1个字符的行,variables,loops,select,plsql,substr,Variables,Loops,Select,Plsql,Substr,我正在尝试创建一个SQL语句,该语句将从一个表中获取八个250列字段,并将它们转换为2000行的行号。 我不知道如何逐字读,大多数字都是空白的。 如何使用将值增加1的变量? 我尝试从myTable中选择substrmyFieldA、varA和1 但它不喜欢变量,也不喜欢循环语句 YYN YN 我希望它以行号显示如下 001 Y 002 Y 003 N 004 005 006 Y 007 N 008 009 N 010 您可以使用此查询拆分其中一个字段: SELECT 'A' Field,

我正在尝试创建一个SQL语句,该语句将从一个表中获取八个250列字段,并将它们转换为2000行的行号。 我不知道如何逐字读,大多数字都是空白的。 如何使用将值增加1的变量? 我尝试从myTable中选择substrmyFieldA、varA和1 但它不喜欢变量,也不喜欢循环语句

YYN YN

我希望它以行号显示如下

001 Y
002 Y
003 N
004 
005 
006 Y
007 N
008
009 N
010

您可以使用此查询拆分其中一个字段:

SELECT 'A' Field, r Col, SUBSTR(myFieldA,r,1) Val
FROM myTable
    ,(SELECT ROWNUM r FROM DUAL CONNECT BY LEVEL <= 250);
您可以对所有8列执行相同的操作,例如:

SELECT 'A' Field, r Col, SUBSTR(myFieldA,r,1) Val
FROM myTable
    ,(SELECT ROWNUM r FROM DUAL CONNECT BY LEVEL <= 250)
UNION ALL
SELECT 'B' Field, r Col, SUBSTR(myFieldB,r,1) Val
FROM myTable
    ,(SELECT ROWNUM r FROM DUAL CONNECT BY LEVEL <= 250)
UNION ALL
... etc....
SELECT 'H' Field, r Col, SUBSTR(myFieldH,r,1) Val
FROM myTable
    ,(SELECT ROWNUM r FROM DUAL CONNECT BY LEVEL <= 250)
;