我有一个用SQLDeveloper编写的简单SQL语句,我希望将每个返回的结果显示为数组,以便可以在前端应用程序(在本例中为聊天机器人)中单独列出(通过它们进行迭代)。现在,当我运行该语句时,将显示所有返回的结果。
有人对此有任何简单的解决方案吗?
SELECT STRING job_class_title, entry_salary_beg, entry_salary_end, job_duties
From SQLLEGENDS
Where Entry_salary_beg >= 80000 and entry_salary_end <= 120000
And DRIVERS_LICENSE_REQ = 'P' and JOB_DUTIES like '%Senior%';
答案 0 :(得分:0)
我希望将每个返回的结果显示为数组
将每一列作为单独的数组返回:
SELECT CAST( COLLECT( string ) AS SYS.ODCIVARCHAR2LIST ) AS job_class_title,
CAST( COLLECT( entry_salary_beg ) AS SYS.ODCINUMBERLIST ) AS entry_salary_beg,
CAST( COLLECT( entry_salary_end ) AS SYS.ODCINUMBERLIST ) AS entry_salary_end,
CAST( COLLECT( job_duties ) AS SYS.ODCIVARCHAR2LIST ) AS job_duties
FROM SQLLEGENDS
WHERE Entry_salary_beg >= 80000
AND entry_salary_end <= 120000
AND DRIVERS_LICENSE_REQ = 'P'
AND JOB_DUTIES like '%Senior%';
将每一行作为数组返回:
SELECT SYS.ODCIVARCHAR2LIST(
string,
TO_CHAR( entry_salary_beg ),
TO_CHAR( entry_salary_end ),
job_duties
) AS array
FROM SQLLEGENDS
WHERE Entry_salary_beg >= 80000
AND entry_salary_end <= 120000
AND DRIVERS_LICENSE_REQ = 'P'
AND JOB_DUTIES like '%Senior%';
但是,我真的不希望您这样做。从现有查询返回结果集应该是实现您所希望的方式,然后只需要逐行遍历结果集,而不是使用数组来使结果复杂化。
您需要更改chatbot的行为,而不是SQL查询的行为。