oracle的神奇化学反应(行转列+获取表字段)
橘子+汽水=橘子汽水,∑(゚Д゚ノ)ノ好无聊!!!
火鸡+烤架=烤火鸡,ლ(´ڡ`ლ)还不错.
wm_concat()+表字段查询=(✪ω✪)会是啥呢?
wm_concat()函数,该函数可以把列值以","号分隔,并显示成一行。例子如下:
我有一个超级大的美食表CHINA_FOODS,里面包含了全国各地的美食,从地锅鸡、羊盘肠到红烧肉、臭豆腐...
今天加班写博客,写到这里的时候我感觉肥肠的饿,想点个外卖,于是想从美食表里面找个好吃的下单:

为了节省时间来写博客,我决定把下单和付款的重任交给我的小女朋友来执行。
对于我的这份将生命托付给她的信任,小女朋友表示受宠若惊并坚定的拒绝了我,因为懒癌晚期的她觉得截图没法直接复制到搜索框下单。
不过,事情还有转圜的余地,她表示如果我把截图改成字符串的形式的话,可以接受替我下单的请求。
“给我一秒钟!”我这样回复她。
一秒钟后,我写下了如下SQL
select wm_concat(food_name) from china_foods;

果断截图发送

什么情况

,思索回忆...找到bug...打N遍电话反复承认不该发截图的错误...重新加回好友然后发送字符串类型的菜单。

这是要搞事情啊!为了吃的我先忍着,话说她怎么还懂全角半角这类的东西?
一秒钟后,我再次写下了如下SQL
--select wm_concat(food_name) from china_foods;
select replace(wm_concat(food_name),',',',') food_name from china_foods;

copy结果,发送
接下来的进展很顺利,小小的为难了我一下之后,小女朋友乖乖的给我去下单了,她果然还是爱我的(*^▽^*)
趁着外卖配送的时候,我又从A+V的角度小小的研究了一下wm_concat(),果然解锁了一个新姿势
--查询表A有哪些字段
SELECT column_name FROM all_tab_columns t WHERE t.OWNER='CMS_UAT' AND t.TABLE_NAME='COMPANY_TRF_LNS_F'; --将A表拥有的字段组装成字符串,代替传统的select * from TBL_A;
SELECT wm_concat(column_name) FROM all_tab_columns t WHERE t.OWNER='CMS_UAT' AND t.TABLE_NAME='COMPANY_TRF_LNS_F';

这样子的话,不管是写insert语句还是多字段的查询语句都很方便啊!
那么,我的外卖到了没有?
小女朋友:“那个...订单选错地址,外卖全送我这来了,要不我等你一起吃...”
问:教训小女朋友用什么姿势好?
再问:博主真的有小女朋友吗?
oracle的神奇化学反应(行转列+获取表字段)的更多相关文章
- 如何在Sql2008中获取表字段属性和注释?
如何在Sql2008中获取表字段属性和注释? select b.[value] from sys.columns a left join sys.extended_properties b on a. ...
- Oracle 关于oracle自带的行转列函数
前言: 环境是java+hibernate+oracle11g 目标是将某表中根据id分组后将name字段的值拼接到一列中,且用“,“进行分割 试过用 wm_concat() 结合 group by ...
- oracle获取表字段及表注释的相关操作
一.获取表字段: select * from user_tab_columns where Table_Name='用户表' user_tab_columns 为当前用户的columns,除此之外还有 ...
- oracle获取表字段属性
select b.COMMENTS,a.COLUMN_NAME,a.DATA_TYPE,a.DATA_LENGTH, a.DATA_PRECISION,a.DATA_SCALE,a.NULLABLE, ...
- 解决:oracle+myBatis ResultMap 类型为 map 时,表字段类型有 Long/Blob/Clob 时报错
前言:最近在做一个通用查询单表的组件,所以 sql 的写法就是 select *,然后 resultType="map" .如果数据库中的表里有字段类型为 Long 等类型时,my ...
- sql获取表字段名、描述和类型
SELECT TableName = OBJECT_NAME(c.object_id), ColumnsName = c.name, Description = ex.value, ColumnTyp ...
- SQL SERVER 2008 获取表字段的类型
SELECT * FROM ( select a.name TABLENAME,b.name FIELDNAME,c.name FIELDTYPE,c.length FIELDLENGTH from ...
- 从Sql server 2008获取表字段属性信息,注释信息
select b.[value] from sys.columns a left join sys.extended_properties b on a.object_id=b.major_id ...
- mysql 获取表字段说明SQL
SELECTTABLE_NAME as '表名', column_name AS '列名', data_type AS '数据类型', character_maximum_length AS '字符长 ...
随机推荐
- iOS开发之控制器创建与加载(生命周期)
1.如何创建一个控制器 控制器常见的创建方式有以下几种: (1)通过storyboard创建 (2)直接创建 MJViewController *mj = [[MJViewController all ...
- 解决codeblock不能运行的问题
codeblock 编译失败 软件 IDE codeblock这软件的确不错,但是除此安装使用就会不小心入坑.你是不是满心欢喜的下载好codeblock,敲入代码,点击运行的时候却总是没反应呢? 如果 ...
- pymysql使用心得记录
-----------更新日志 16.7.29------------- (该记录对应文章<豆瓣电影Top250基本信息抓取 >) 折腾了将近两天才把mysql数据库功能给实现了. 经过 ...
- 模块化规范Common.js,AMD,CMD
随着网站规模的不断扩大,嵌入网页中的javascript代码越来越大,开发过程中存在大量问题,如:协同开发,代码复用,大量文件引入,命名冲突,文件依赖. 模块化编程称为迫切的需求. 所谓的模块,就是实 ...
- The superclass “javax.servlet.http.HttpServlet" was not found on the Java Build Path错误
1.异常信息 创建maven web项目时,出现 The superclass "javax.servlet.http.HttpServlet" was not found on ...
- 关于View Link
当需要表格之间的父子结构的时候需要展示时,这个时候就需要建立View Link来实现Table之间的关联.在建立ViewLink时需要现将JDev关闭然后再进行创建自己需要的ViewLink.
- python之函数学习
#!/usr/bin/env python # # =============================================== # 位置参数说明 # 位置参数 通过参数传递的位置来 ...
- iOS 任务的依赖操作
-(void)dependency{ /** 假设有A.B~C三个操作,要求: 1. 3个操作都异步执行 2. 操作C依赖于操作B 3. 操作B依赖于操作A */ //创建一个队列 NSOperati ...
- 性能测试分享:Jmeter的api监控工具解决方案
性能测试分享:Jmeter的api监控工具解决方案 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询q ...
- Jackson序列化实例
参考文章 Jackson使用ContextualSerializer在序列化时获取字段注解的属性 使用BeanSerializerModifier定制jackson的自定义序列化(null值的处理) ...