日期:2014-05-17  浏览次数:20799 次

如何把一个查询的结果集中的某些字段值拼成字符串,查询语句中的字段名还需使用变量
我需要在存储过程里面做一个事情,就是通过传入的内容来判断具体去查询哪个字段,所以说字段名就是动态的。怎样才能让查询语句中的字段名使用变量?
并且要在这个查询语句执行后,把其中几个字段的值拼接成字段串,如:field1/field2/field3/field4
如果是静态的sql,倒可以用for xx in (查询语句) loop 这样,但是字段名为变量的话,怎么做呢??

------解决方案--------------------
字段拼接:field1||field2||field3||field4,
对date类型的要将其转换成字符型的,如:to_char(date1,'yyyy-mm-dd')。
 

引用楼主 chuxuecharp 的帖子:
我需要在存储过程里面做一个事情,就是通过传入的内容来判断具体去查询哪个字段,所以说字段名就是动态的。怎样才能让查询语句中的字段名使用变量?
并且要在这个查询语句执行后,把其中几个字段的值拼接成字段串,如:field1/field2/field3/field4
如果是静态的sql,倒可以用for xx in (查询语句) loop 这样,但是字段名为变量的话,怎么做呢??

------解决方案--------------------
用动态SQL啊
先拼成SELECT语句,然后用execute immediat来执行