【问题标题】:Split comma separated values into individual rows将逗号分隔的值拆分为单独的行
【发布时间】:2012-01-28 16:56:34
【问题描述】:

我想创建单独的行,每个单元格中包含一个单词。这些词目前存储在一列的多个单元格中。

下面是我的格式

一个
玩、游戏、在线、免费、有趣
好玩、玩、街机、在线
赛车、搞笑、玩

下面要转换成

B

游戏
在线
免费
好玩
街机
赛车
好笑

请注意,如果已经为一个单词创建了一行,则不应重复。

【问题讨论】:

  • 定义“单元格”,因为数据库没有单元格。这是在电子表格中吗?
  • 哪个编。朗。你在用吗?
  • Mysql 做不到(但 postgres 至少可以)

标签: mysql


【解决方案1】:

这通常最好在 SQL 以外的其他东西中完成,例如 java。

伪代码可能是:

List<String> names = jdbcTemplate.query("select A from your_table", new RowMapper() {
    public Object mapRow(ResultSet resultSet, int i) throws SQLException {
        return resultSet.getString(1);
    }
});

for (String name : names) {
    String[] strings = name.split("[\\w,]");
    for (int i = 0; i < strings.length; i++) {
        String string = strings[i];
        jdbcTemplate.update("insert ignore into new_table (B) values (?)", string);
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 2023-03-22
    相关资源
    最近更新 更多