小编MB3*_*B34的帖子

带有逗号分隔字符串的 Postgres 查询列,用于字符串数组

我有一个表,其中包含如下所示的数据:

id  oe
--  ---------------------------------------------------
 1  04715SNAA90,04715SNAA90ZZ,71501SNAA00,71501SNAA00ZZ
 2  64526915083,64526953474
 3  04715SNAA90,04715SNAA90ZZ,71501SNAA00,71501SNAA00ZZ
 4  F4DH8C607AA,F4DHAA
 5  F4DH8C607AA,F4DHAA
 6  04715SNAA90,04715SNAA90ZZ,71501SNAA00,71501SNAA00ZZ
 7  64526915083,64526953474
 8  F4DH8C607AA,F4DHAA
 9  F3DH19860AA,F3DHAA,F4DH19860AA,F4DHAA
10  F3DH19860AA,F3DHAA,F4DH19860AA,F4DHAA
11  04715SNAA90,04715SNAA90ZZ,71501SNAA00,71501SNAA00ZZ
12  64526915083,64526953474
13  F3DH19860AA,F3DHAA,F4DH19860AA,F4DHAA
14  F4DH8C607AA,F4DHAA
15  F3DH19860AA,F3DHAA,F4DH19860AA,F4DHAA
Run Code Online (Sandbox Code Playgroud)

如何编写查询,在其中传递值数组并返回该列包含数组中任何值的行?

这是有效的,因为我从查找表中获得了另一个值,而我宁愿不这样做,因为表中的hol列上没有索引pubnet
[请不要建议添加一个,因为我无法修改数据库]

SELECT * FROM pubnet 
where hol in (select hol from id2hol where id in ('F3DH19860AA', 'F4DHAA'))
Run Code Online (Sandbox Code Playgroud)

这将是结果集:

id  oe
--  ---------------------------------------------------
 4  F4DH8C607AA,F4DHAA
 5  F4DH8C607AA,F4DHAA
 8  F4DH8C607AA,F4DHAA
 9  F3DH19860AA,F3DHAA,F4DH19860AA,F4DHAA
10  F3DH19860AA,F3DHAA,F4DH19860AA,F4DHAA
13  F3DH19860AA,F3DHAA,F4DH19860AA,F4DHAA
14  F4DH8C607AA,F4DHAA
15  F3DH19860AA,F3DHAA,F4DH19860AA,F4DHAA
Run Code Online (Sandbox Code Playgroud)

postgresql array

2
推荐指数
1
解决办法
2万
查看次数

当我尝试在 PL/SQL 过程中创建表时,为什么会收到 PLS-00103?

我收到此错误:

[Error] PLS-00103 (23: 9): PLS-00103: Encountered the symbol "CREATE" when expecting one of the following: begin case declare exit for goto if loop mod null pragma raise return select update while with <an identifier>

尝试运行此代码时。我在这里做错了什么?
我应该使用批量收集吗?如果是这样,如何?

CREATE OR REPLACE PROCEDURE P_CLEAN_LICENSEE_ARCHIVE AS
BEGIN
    /*******************************************************************/
    /* This is an array of IDs for licensees                           */
    /*******************************************************************/
   array_l := l_arr(1026679, 1026714, 1036991, 1026735, 1026715, 1159363, 1026703, 1169002, 1052762, 1070152, 1026684, 
                    1026685, 1164376, 1026693, 1026733, 1026698, 1026701, 1026680, 1026708, 1026710, 1026688, 1026697, …
Run Code Online (Sandbox Code Playgroud)

oracle plsql ddl

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

array ×1

ddl ×1

oracle ×1

plsql ×1

postgresql ×1