比如student表的name字段的值是:张三
李四
王五
颜六
孙七
赵八
----
在SQL Server中可以用:
declare @s nvarchar(2000)
set @s=''
select @s=@s+','+ name from student
select @s得到下面的结果:
,张三,李四,王五,颜六,孙七,赵八
--------------------
如果是Oracle 9i,要得到同样的结果,SQL语句该怎样改动呢?
李四
王五
颜六
孙七
赵八
----
在SQL Server中可以用:
declare @s nvarchar(2000)
set @s=''
select @s=@s+','+ name from student
select @s得到下面的结果:
,张三,李四,王五,颜六,孙七,赵八
--------------------
如果是Oracle 9i,要得到同样的结果,SQL语句该怎样改动呢?
解决方案 »
- 同一用户,同一条sql语句,查询出不同结果?
- 请教一个关于Oracle序列取值的问题,请大侠指教
- 哪里有oracle的function相关资料下载?
- 关于自引用的问题,请指点!
- ORA-01401: 插入的值对于列过大
- 大家都知道用PRO*C来编译用C写的代码是很好的途径,但我现在要用C++写代码,所以不知道用什么命令来编译,要准备些什么,能不能给个示范
- 求助ORACLE恢复
- 求查询语句
- Oracle中Number的数值范围时多大啊?
- Oracle PL/SQL存储过程动态赋值问题
- Oracle function-based index对于数据更新处理延时问题。
- Oracle 高级查询. (小弟在线等)
sqlstr varchar2(2000);
cursor c_try is select name from student;
begin
sqlstr:='';
open c_try;
loop
fetch c_try into col1;
exit when c_try%notfound;
sqlstr:=sqlstr||','||col1;
exit when c_try%notfound;
end loop;
sqlstr:='select '||sqlstr||' 姓名 from student';
close c_try;
dbms_output.put_line('name value:'||sqlstr); --打印sql
end;