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数据库有空格的列的更多相关文章

  1. ms sql server,oracle数据库实现拼接一列的多行内容

    项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/deta ...

  2. PL/SQL Developer 连接Oracle数据库详细配置方法

    PL/SQL Developer 连接Oracle数据库详细配置方法 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出 ...

  3. sql server和oracle数据库

    sql server和oracle数据库安装按照官方教程即可:以及他们相应的管理工具,sql server management studio自带的,oracle的管理工具PLSQL需要单独下载安装, ...

  4. 将现有的sql脚本导入 Oracle 数据库,中文乱码问题

    将现有的sql 脚本导入 Oracle数据库 比如 在windows 系统下,可以写一个 bat 来实现直接导入 如:bat 中的内容如下,logs.log 将会记录执行日志 sqlplus user ...

  5. java.sql.SQLException: ORA-01578: ORACLE 数据块损坏问题解决办法

    错误信息: java.sql.SQLException: ORA-01578: ORACLE 数据块损坏 (文件号 17, 块号 315703) ORA-01110: 数据文件 17: 'D:\ORA ...

  6. JAVA通过JDBC连接Oracle数据库详解【转载】

    JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.htm ...

  7. SQL语句往Oracle数据库中插入日期型数据(to_date的用法)

    Oracle 在操作数据库上相比于其他的 T-sql 有微小的差别,但是在插入时间类型的数据是必须要注意他的 to_date 方法,具体的情况如下: --SQL语句往Oracle数据库中插入日期型数据 ...

  8. 简单的PL/SQl链接远程ORACLE数据库方法

    简单的PL/SQl链接远程ORACLE数据库方法 PLSQL Developer新手使用教程 pasting

  9. 在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= ...

随机推荐

  1. 【CSS】position(定位)属性

    关于CSS position,来自MDN的描述: CSS position属性用于指定一个元素在文档中的定位方式.top.right.bottom.left 属性则决定了该元素的最终位置. 然后来看看 ...

  2. paper 141:some paper with ComputerCV、MachineLearning[转]

    copy from:http://blog.csdn.net/zouxy09/article/details/8550952 一.特征提取Feature Extraction: ·         S ...

  3. 如何做LR自动关联和手动关联?

    一.什么时候需要关联   1.关联的含义        关联的含义A(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容 ...

  4. C# 语法特性

    C# 2.0 1.泛型(Generics). 2.泛型方法.泛型委托.泛型接口. 3.泛型约束(constraints). 4.部分类(partial). 5.匿名方法. C#3.0/C#3.5 1. ...

  5. javaweb登录验证码的实现

    第一种 第一步:  JSP <li><input name="validCode"  id="validCode" type="te ...

  6. 实验吧关于隐写术的writeUp(二)

    0x01 Black Hole 1.下载文件后,发现打不开,放到kali中.用命令file 分析一下文件 root@trial:~/Documents# file blackhole.img blac ...

  7. java.lang

    package cn.sxt;   import java.lang.*;   public class BooleanDemo {      public static void main(Stri ...

  8. 转 MySQL乐观锁和悲观锁

    悲观锁(Pessimistic Lock) 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁.传统的关系型数据库 ...

  9. sql server日志传送实践(基于server 2008 R2)

    SQL Server 2008 R2 主从数据库同步 相关参考:http://blog.itpub.net/30126024/viewspace-2639526/ sql server日志传送(基于s ...

  10. poi解析word文档转换成html(包括图片解析)

    需求:将本地上传的word文档解析并放入数据库中 代码: import java.io.ByteArrayOutputStream;import java.io.File;import java.io ...