gpt4 book ai didi

postgresql - 有没有办法在不访问数据库表的情况下运行单个 PSQL 聚合函数?

转载 作者:行者123 更新时间:2023-11-29 14:10:13 25 4
gpt4 key购买 nike

例如,我想运行:

REGEXP_REPLACE("What's My Name?", "[^a-z0-9_\-]", "-");

并简单地查看它返回的内容,而不是对数据库表进行搜索。我尝试在 CLI 中运行它并得到了

ERROR:  syntax error at or near "REGEXP_REPLACE"
LINE 1: REGEXP_REPLACE("What's My Name?", "[^a-z0-9_\-]", "-")

(我试图变得通用 - 我希望也能将其用于其他 PSQL 聚合函数。)

最佳答案

请记住,这是 SQL,因此您获得的每个输出都是一个关系。因此,要计算函数的结果,您需要运行 SELECT 来检索函数的值。

不幸的是,在许多数据库中,SELECT 需要一个表。在 Oracle 领域,有 dual要解决此问题:

SELECT REGEXP_REPLACE('What''s My Name?', '[^a-z0-9_\-]', '-') FROM dual;

但是,PostgreSQL 允许您执行 SELECT 查询而无需指定表:

SELECT REGEXP_REPLACE('What''s My Name?', '[^a-z0-9_\-]', '-');

注意SQL中的string引号是',不是"。PostgreSQL使用双引号来引用标识符。

旁注:并非每个函数都是聚合函数。聚合是一种将多个值组合成单个输出值的函数。 REGEXP_REPLACE() 只是一个普通的 string function .

关于postgresql - 有没有办法在不访问数据库表的情况下运行单个 PSQL 聚合函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40896254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com