首页 > 怎么将sqlite数据库中的空格都去掉啊?

怎么将sqlite数据库中的空格都去掉啊?

比如我现在有表 person,其中的一个字段是 name,
name中有些是“张三”,但是有些是“张 三”。
我现在在电脑上有工具 Navicat Lite,怎么样写语句将所有空格删掉啊?


可以在存入数据库之前先将输入的内容处理好(安全并合乎你的逻辑),再存进去


没有想到有怎样的sql语句能完成你这样的工作了,我想最终数据库还是得去判断你的name是否存在空格符并进行update,所以select所有条目出来对name进行trim()操作再update回去不失为数据库操作最容易实现(虽然粗暴了点)的办法了,update回去时采用事物操作,避免原子读写,几十万条数据,我觉得能控制在10s内,做一个后台任务,我觉得是能接受的。另一种方案,不修改改原有name数据,使用select出来后再对name进行trim(),再使用,不也能达到你的目的吗?还能保持原有数据的原始性。


虽然你说的这个软件我没用过= =
但是!!!用Java或Android代码来解决这个问题也是十分简单的ovo

 Connection c = null;
    Statement stmt = null;
    try {
      Class.forName("org.sqlite.JDBC");
      c = DriverManager.getConnection("jdbc:sqlite:test.db");
      c.setAutoCommit(false);
      System.out.println("Opened database successfully");

      stmt = c.createStatement();
      ResultSet rs = stmt.executeQuery( "SELECT id,name FROM person;" );
      while ( rs.next() ) {
         String id = rs.getString("id");
         String  name = rs.getString("name");
         System.out.println(name);
         name = name.replaceAll(" ","");
         String sql = "UPDATE person name = " + name + " WHERE id = "+ id +"";
         stmt.executeUpdate(sql);
      }
      rs.close();
      stmt.close();
      c.close();
    } catch ( Exception e ) {
      System.err.println( e.getClass().getName() + ": " + e.getMessage() );
      System.exit(0);
    }
    System.out.println("successfully");
  }

请执行以下SQL语句

UPDATE person SET name=REPLACE(name, ' ', ''); 
【热门文章】
【热门文章】