在 Postgres 中将逗号分隔的字符串转换为整数数组

2024-03-11

我正在尝试将逗号分隔的字符串转换为整数数组 (integer[]) 以在Where 子句中使用。

我尝试过演员,::Int这不起作用。感谢您的意见

Example

Table A   |  Table B
ID        |  Set_id
2         |  14,16,17
1         |  15,19,20
3         |  21

我的查询:

Select * 
from Table a, table b 
where a.id in b.set_id

如果要将字符串用于连接条件,则需要将字符串转换为正确的整数数组。

Select * 
from Table a
  join table b on a.id = any(string_to_array(b.set_id, ',')::int[]);

But a much更好的解决方案是正确规范化您的表(或at least将这些 ID 存储在整数数组中,而不是 varchar 列中)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Postgres 中将逗号分隔的字符串转换为整数数组 的相关文章

  • 在 Sql Server 中启用 DTD 支持

    我有各种 xml 文档需要存储在数据库列中 这些文档包含对 DTD 的引用 并且 SQL Server 不会导入 xml 因为它存在安全风险 如何在数据库上启用 DTD 支持 以便它可以让我插入 xml 内容 你必须CONVERT首先 MS
  • 将 5 gig 文件导入表时出错

    我正在尝试批量插入表 use SalesDWH go BULK INSERT dbo npi FROM S tmp npi csv WITH FIELDTERMINATOR ROWTERMINATOR n lastrow 200 first
  • MySql 复合索引

    我们使用 MySql 作为我们的数据库 以下查询在 mysql 表 大约 2500 万条记录 上运行 我在这里粘贴了两个查询 查询运行得太慢 我想知道更好的复合索引是否可以改善这种情况 你知道最好的综合指数是什么吗 并建议我这些查询是否需要
  • PLSQL 中的时区转换

    我需要将系统日期和时间转换为特定时区 例如东部时间 我无法假设我当前的时区 如何在plsql中转换它 请帮我 假设你有一个TIMESTAMP WITH TIME ZONE 例如systimestamp 您可以使用AT TIME ZONE句法
  • 计算复杂数组的abs()值的最快方法

    我想计算 C 或 C 中复杂数组元素的绝对值 最简单的方法是 for int i 0 i lt N i b i cabs a i 但对于大向量来说 速度会很慢 有没有办法加快速度 例如使用并行化 语言可以是 C 或 C 鉴于所有循环迭代都是
  • 如何在 scala 中的二维数组上使用 contains 方法

    我有一个二维数组 我想检查二维数组内是否存在数组 我努力了 var arr Array Array 2 1 Array 4 3 var contain arr contains Array 4 3 println contain 这应该打印
  • Postgres 和 Django - DataError:无法识别时区

    我们从一些用户那里收到以下错误 DataError time zone Asia Qostanay not recognized 我们发现问题出在以下 SQL 查询上 SELECT FROM app foobar WHERE EXTRACT
  • Postgres 使用 TypeORM SET 运行时变量,如何在调用之间的连接生命周期中保留变量

    我有使用 GraphQL 的 NodeJS Web 服务器 使用 2 个连接 一个具有管理员访问权限 另一个具有 CRUD 访问权限 底层 Postgres DB 有行级安全策略 即 ALTER TABLE main user ENABLE
  • MySQL中如何重置表的自增列

    我有一张桌子 它的第一列sl是自动递增的 填充表格后 我删除了前两行 第一个条目有sl1 是否可以重置为1维持AI 我正在使用 PHP MyAdmin ALTER TABLE tablename AUTO INCREMENT 1
  • QGIS 和 PostGIS(地图点(美国地图上的纬度和经度以及半径)

    我安装了QGIS和PostGIS 我想在美国地图上以 100 英里为半径显示 200 个点 我已将纬度和经度导入 PostGIS 数据库中 所以我有三个字段 地址 纬度 经度 1 我需要将纬度和经度字段转换为点或几何字段吗 如果是这样怎么办
  • MYSQL 中当前行上日期之前(并包括该日期)的所有行的总和

    重要的是要知道在查询期间日期是未知的 因此我不能只硬编码 WHERE 子句 这是我的桌子 Date ID Customer Order Count 20150101 Jones 6 20150102 Jones 4 20150103 Jon
  • NOLOCK 和 UNCOMMITTED 之间有什么区别

    我使用 SQL Server 2012 我写了两个查询 但是它们之间有什么不同NOLOCK and UnCommitted SELECT lastname firstname FROM HR Employees with READUNCOM
  • 无法索引空数组

    我正在使用一个模板 该模板根据服务器备份是否成功的条件设置单元格颜色 我有下面的代码 它不断抛出错误 无法索引到空数组 Cannot index into a null array At C Users admin Desktop new
  • javaScript从单个值数组返回一个新的成对值数组[重复]

    这个问题在这里已经有答案了 可能的重复 将数组分割成块 https stackoverflow com questions 8495687 split array into chunks 我正在尝试将值数组转换为新的配对值数组 例如我需要转
  • 如何创建指针数组?

    我正在尝试创建一个指针数组 这些指针将指向我创建的 Student 对象 我该怎么做 我现在拥有的是 Student db new Student 5 但该数组中的每个元素都是学生对象 而不是指向学生对象的指针 谢谢 Student db
  • SSRS 报告 - IIF 声明问题

    做一个表达式时出现错误 有人可以在这里告诉我正确的语法吗 IIf Fields t cpcp Value 310 Purchased Material Raw Material Nothing IIf Fields t cpcp Value
  • 在 C++ 中从另一个数组初始化结构内的数组[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions struc
  • 如何使用默认约束为mysql中的列创建随机数?

    DEFAULT 约束在接受字符串或当前日期值方面没有问题 我需要的是一个约束 每次创建实体时都会创建一个随机的 4 位数字 我尝试了以下代码 但它返回语法错误 ALTER TABLE client number ADD 代码 INT 4 D
  • SQL查询中的Python列表作为参数[重复]

    这个问题在这里已经有答案了 我有一个 Python 列表 比如说 l 1 5 8 我想编写一个 SQL 查询来获取列表中所有元素的数据 例如 select name from students where id IN THE LIST l
  • Swift 中带有数组的 For-In 循环中迭代器元素的可变性

    我在 Swift 3 0 中有一些代码 就像这样尝试更新元素数组中的属性 for point in listOfPoints var pointInFrame Float Float point position x sensorIncom

随机推荐