将列表转换为 SQL 数组插入的字符串 [重复]

Posted

技术标签:

【中文标题】将列表转换为 SQL 数组插入的字符串 [重复]【英文标题】:Converting List to String for SQL Array Insert [duplicate] 【发布时间】:2017-12-16 15:05:12 【问题描述】:

我正在尝试将包含名称的 r 列表转换为用于 Postgresql text[] 列的 sql 插入的字符串。

name_list <- list("bob smith", "joe bob", "jim bob") 

目标是创建一个sql插入语句suck as:

INSERT INTO players (name) value ("bob smith", "joe bob", "jim bob") 

我试过了:

> name_str <- paste('', unlist(name_list), '', collapse=", ") 

产生:

[1] " bob smith ,  joe bob ,  jim bob "

关于我如何制作:"bob smith", "joe bob", "jim bob" 有什么想法吗?

【问题讨论】:

【参考方案1】:

试试 glue 包,它非常适合像这样的字符串操作。或者你可以使用paste0函数:

paste0('INSERT INTO players (name) value (',
       paste0('"', name_list, '"', collapse = ', '), ')')

但是您总是可以使用任何与数据库相关的包来为您将值放入数据库中

【讨论】:

这很接近,但数组需要在 括号之前和之后出现 '。类似于: paste0("INSERT INTO player (name) value('", paste0('"', name_list, '"', collapse = ", "), "')") 你确定吗?至少在你的问题中没有说明

以上是关于将列表转换为 SQL 数组插入的字符串 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串空格分隔的键,唯一字的值对转换为字典

sql数组转换为字符串

将字符串列表转换为一个字符串[重复]

将 ArrayList 转换为特定类型的数组 [重复]

将整数列表转换为整数数组[重复]

将数组转换为函数参数列表 [重复]