Java/sql找出oracle数据库有空格的列
1.java方式
String table_sql = "select table_name from user_tables";//所有用户表
List<String> table_list = getSession().createSQLQuery(table_sql).list();
for (int index = 0; index < table_list.size(); index++) {
String tab = table_list.get(index);
System.out.println("表名 "+tab);
//表的所有列及数据类型
String column_sql = "select column_name,data_type,data_length from user_tab_columns where table_name=upper('"+tab+"')";
List<Object[]> column_list = getSession().createSQLQuery(column_sql).list();
for (int j = 0; j < column_list.size(); j++) {
String column = (String)column_list.get(j)[0];//列名
//String dataType = (String)column_list.get(j)[1];//数据类型
//查询是否有空格
String checkColumn_sql = "select count(rownum) from "+tab+" where "+column+" like ' %' or "+column+" like '% ' and rownum<10 ";
BigDecimal count = (BigDecimal)getSession().createSQLQuery(checkColumn_sql).uniqueResult();
Integer num = count.intValue();
if(num > 0){
//System.out.println("列名 "+column+" 数据类型 "+dataType+" 含空格数量 "+num);
System.out.println("update "+tab+" set "+column+" = trim("+column+") where "+column+" like ' %' or "+column+" like '% ';");
}
}
System.out.println("======================================");
2.sql方式
declare
v_fid varchar2(1000);--用来存在表名的变量
cursor c_cur is select table_name from user_tables;--获得所有的用户表名(如果表多或数据量大可以加where条件)
cursor c_tab(c_cur varchar2) is select column_name from user_tab_columns where table_name=c_cur;--获得对应表的所有列名
v_column user_tab_columns.column_name%type;
v_sql varchar2(1000);
v_count varchar2(100);
begin
open c_cur;
loop
fetch c_cur into v_fid;
exit when c_cur%notfound;
dbms_output.put_line('========');
dbms_output.put_line('表名:'||v_fid); open c_tab(v_fid);
loop
fetch c_tab into v_column;
exit when c_tab%notfound; v_sql:='select count(rownum) from '||v_fid||' where '||v_column||' like '' %'' or '||v_column||' like ''% '' and rownum<10 ';
execute immediate v_sql into v_count; if v_count > 0 then
begin
dbms_output.put_line(v_column);--输出列名
end;
end if;
end loop;
close c_tab; end loop;
close c_cur;
end;
Java/sql找出oracle数据库有空格的列的更多相关文章
- ms sql server,oracle数据库实现拼接一列的多行内容
项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/deta ...
- PL/SQL Developer 连接Oracle数据库详细配置方法
PL/SQL Developer 连接Oracle数据库详细配置方法 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出 ...
- sql server和oracle数据库
sql server和oracle数据库安装按照官方教程即可:以及他们相应的管理工具,sql server management studio自带的,oracle的管理工具PLSQL需要单独下载安装, ...
- 将现有的sql脚本导入 Oracle 数据库,中文乱码问题
将现有的sql 脚本导入 Oracle数据库 比如 在windows 系统下,可以写一个 bat 来实现直接导入 如:bat 中的内容如下,logs.log 将会记录执行日志 sqlplus user ...
- java.sql.SQLException: ORA-01578: ORACLE 数据块损坏问题解决办法
错误信息: java.sql.SQLException: ORA-01578: ORACLE 数据块损坏 (文件号 17, 块号 315703) ORA-01110: 数据文件 17: 'D:\ORA ...
- JAVA通过JDBC连接Oracle数据库详解【转载】
JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...
- SQL语句往Oracle数据库中插入日期型数据(to_date的用法)
Oracle 在操作数据库上相比于其他的 T-sql 有微小的差别,但是在插入时间类型的数据是必须要注意他的 to_date 方法,具体的情况如下: --SQL语句往Oracle数据库中插入日期型数据 ...
- 简单的PL/SQl链接远程ORACLE数据库方法
简单的PL/SQl链接远程ORACLE数据库方法 PLSQL Developer新手使用教程 pasting
- 在mybatis中使用存储过程报错java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列: PLS-00905: 对象 USER1.HELLO_TEST 无效 ORA-06550: 第 1 行, 第 7 列:
hello_test是我的存储过程的名字,在mapper.xml文件中是这么写的 <select id="getPageByProcedure" statementType= ...
随机推荐
- tensorflow报错
libcublas.so.9.0: cannot open shared object file: No such file or directory 输入命令: sudo ldconfig/usr/ ...
- 将第三方jar包安装到本地maven仓库
这里有2个案例,需要手动发出Maven命令包括一个 jar 到 Maven 的本地资源库. 要使用的 jar 不存在于 Maven 的中心储存库中. 您创建了一个自定义的 jar ,而另一个 Mave ...
- Spark核心原理初探
一.运行架构概览 Spark架构是主从模型,分为两层,一层管理集群资源,另一层管理具体的作业,两层是解耦的.第一层可以使用yarn等实现. Master是管理者进程,Worker是被管理者进程,每个W ...
- pic16f877a的AD实验学习
一.主函数 //采集AD值 #include <pic.h> #include "ad.h" #include "usart.h" __CONFIG ...
- react — script引入 和 脚手架使用的区别
1.React 入门实例教程 :http://www.ruanyifeng.com/blog/2015/03/react.html ( 阮一峰的博客) 或 https://segmentfaul ...
- window.open 打开新窗口被拦截的解决方案
最近公司开发的一个项目,平凡用到下载各种类型的文件,但是例如.txt,.jpg,.pdf格式的文件呢浏览器会在当前窗口直接打开,影响用户体验,尝试各种方案和百度总结一下几点: 原理: 当window. ...
- 20175223 MySQL
目录 完成结果 要求 1 :导入world.sql 要求 2 :CityWanna.java CityWanna.java 要求 3 :CountryWanna.java CountryWanna.j ...
- 关于最近练习PYTHON代码的一点心得
做测试以来,一直想学习代码,以前也断断续续的学习过,不过都是练习一些基础语法,学习的是菜鸟教程,但是效果不大. 最近在练习CODEWAR里做练习题,慢慢强化自己对一些基本语法的理解,熟悉基本的内置函数 ...
- ylbtech-公司-滴滴出行:滴滴出行
ylbtech-公司-滴滴出行:滴滴出行 滴滴出行是涵盖出租车. 专车. 滴滴快车. 顺风车. 代驾及 大巴等多项业务在内的一站式出行平台,2015年9月9日由“滴滴打车”更名而来. 2月1日起, ...
- Linux用ifconfig设置IP、掩码、网关
ifconfig eth0 ip netmask 255.255.255.0 route add default gw 网关