【问题标题】:Converting List to String for SQL Array Insert [duplicate]将列表转换为 SQL 数组插入的字符串 [重复]
【发布时间】: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"} 有什么想法吗?

【问题讨论】:

    标签: r postgresql


    【解决方案1】:

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

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

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

    【讨论】:

    • 这很接近,但数组需要在 {} 括号之前和之后出现 '。类似于: paste0("INSERT INTO player (name) value('{", paste0('"', name_list, '"', collapse = ", "), "}')")
    • 你确定吗?至少在你的问题中没有说明
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 2011-02-23
    • 2017-06-28
    • 1970-01-01
    • 2012-05-08
    相关资源
    最近更新 更多