gpt4 book ai didi

postgresql - Postgres 将整数转换为文本

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

我有一个问题。我正在使用 Postgrs 数据库,我的问题是我需要将整数用作文本。我有以下解决方案:

CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';

CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;

COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text';

我一直在读到这个解决方案是不正确的,将来可能会导致一些问题。所以我一直在通过互联网进行研究,我看到有些人只使用 CAST,但只是为了转换一个特定的 int,即 https://dba.stackexchange.com/questions/82511/how-to-enable-implicit-casts-in-postgresql-9-2

最佳答案

创建这样一个隐式转换的危险在于它会破坏 PostgreSQL 中精心平衡的类型系统;之后,一些无辜的重载函数调用将停止工作,因为由于强制转换,突然有太多候选函数无法做出唯一选择。

使用显式转换要好得多:

CAST (intcol AS text)

这是标准的 SQL,应该可以在任何地方使用。

关于postgresql - Postgres 将整数转换为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50025750/

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