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

发布于 2022-09-02 20:44:57 字数 107 浏览 14 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

指尖凝香 2022-09-09 20:44:57

请执行以下SQL语句

UPDATE person SET name=REPLACE(name, ' ', ''); 
煞人兵器 2022-09-09 20:44:57

虽然你说的这个软件我没用过= =
但是!!!用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");
  }
菩提树下叶撕阳。 2022-09-09 20:44:57

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

日暮斜阳 2022-09-09 20:44:57

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文