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开发之UITabBarController
1.概述 跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是QQ.微信等应用. 2.UITabB ...
- 2.4G无线收发模块/射频RFM75调试总结/RF知识整理
射频RFM75通信是收发双方都需要编程的器件,收发双方的通道频率,空中传输速率设置一致,调试时必须先调通一块再调另一块,否则出现问题了就不知道是发送端有问题还是接收端有问题.调试必须理清思路.正确的方 ...
- CDN内容分发网络
CDN的全称是Content Delivery Network,即内容分发网络,其设计思想是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定. CDN系统是在网络 ...
- 学习Redux之分析Redux核心代码分析
1. React,Flux简单介绍 学习React我们知道,React自带View和Controller库,因此,实现过程中不需要其他任何库,也可以独立开发应用.但是,随着应用程序规模的增大,其需要控 ...
- exports和module.exports的区别
总结:exports是module.exports的指向. 1. module应该是require方法中,上下文中的对象 2. exports对象应该是上下文中引用module.exports的新对象 ...
- Linux shell指令运行的原理
shell是一种命令行解释器 对于一般用户,我们不能直接使用操作系统(kernel).而是通过 kernel的"外壳"程序,也就是所谓的shell,来与kernel沟通. 为 ...
- nosql使用感受
最近一个项目尝试了使用ssdb(一个类似于redis的数据结构数据库),主要感受有几点: 优势 nosql的无模式在修改和插入时很方便,不需要预先新建表或者修改表结构来新加字段,只需要代码里面使用就行 ...
- 老李秘技:LoadRunner支持参数文件极限是多大
老李秘技:LoadRunner支持参数文件极限是多大 Controller不支持参数文件大于20m
- 老李分享:《Linux Shell脚本攻略》 要点(四)
老李分享:<Linux Shell脚本攻略> 要点(四) 1.IP地址的正则表达式: [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} 2. ...
- Hibernate(一)之Hibernate入门
一.Hibernate入门 ssh框架体系结构 1.1.ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relational ...