Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL检查Golang中的空数组更改行为_Sql_Postgresql_Go - Fatal编程技术网

PostgreSQL检查Golang中的空数组更改行为

PostgreSQL检查Golang中的空数组更改行为,sql,postgresql,go,Sql,Postgresql,Go,我试图实现基于输入数组选择数据的行为,或者在数组为null或空时获取所有数据 SELECT * FROM table_name WHERE ('{}' = $1 OR col = ANY($1)) 这将返回pq:op ANY/ALL(数组)右侧需要数组 如果我跑 SELECT * FROM table_name WHERE (col = ANY($1)) 这很好,我得到了我期望的内容 我也可以使用array\u length,但它会要求我断

我试图实现基于输入数组选择数据的行为,或者在数组为null或空时获取所有数据

SELECT * FROM table_name
    WHERE 
        ('{}' = $1 OR col = ANY($1))
这将返回
pq:op ANY/ALL(数组)右侧需要数组

如果我跑

SELECT * FROM table_name
    WHERE 
        (col = ANY($1))
这很好,我得到了我期望的内容

我也可以使用
array\u length
,但它会要求我断言$1中的数据类型。如果我执行
(数组长度($1::string[],1)<1或col=ANY($1))
,它似乎总是在数组长度上返回false,然后继续执行
col=ANY($1)

如果$1是
'{}'
或NULL,我如何仅返回$1中的值或全部值?

明白了:


($1::string[]为NULL或event_id=ANY($1))

您是否可以更新此答案,以便对具有相同或类似问题的其他用户有所帮助?e、 g.解释为什么这一改变解决了“明白”之外的问题?