如何在Ruby中将Ruby数组转换为PostgreSQL支持的数组格式
Ruby数组转PostgreSQL兼容格式的实现方法
给定Ruby数组:
ruby_array = ["9771", "9773", "9778", "9800", "9806"]
需要转换为PostgreSQL支持的数组格式:
{"9771", "9773", "9778", "9800", "9806"}
以下是几种可行的实现方式:
手动字符串拼接法
直接处理每个元素,包裹引号后拼接成目标格式:ruby_array = ["9771", "9773", "9778", "9800", "9806"] postgres_array = "{#{ruby_array.map { |item| "\"#{item}\"" }.join(', ')}}" # 执行后得到:"{\"9771\", \"9773\", \"9778\", \"9800\", \"9806\"}"简化字符串格式化写法
用%()语法简化带引号的元素生成:ruby_array = ["9771", "9773", "9778", "9800", "9806"] postgres_array = "{#{ruby_array.map { |x| %("#{x}") }.join(', ')}}"Rails环境下的专业方案
如果是在Rails项目中操作PostgreSQL,推荐使用ActiveRecord内置的转换方法,能自动处理特殊字符等边缘情况:ruby_array = ["9771", "9773", "9778", "9800", "9806"] postgres_array = ActiveRecord::Base.connection.quote(ruby_array)
内容的提问来源于stack exchange,提问作者Vinoth Kumar S
相关产品推荐
相关产品推荐

