gpt4 book ai didi

postgresql - 将表列更改为 int(9) UNSIGNED ZEROFILL NOT NULL

转载 作者:行者123 更新时间:2023-11-29 14:16:33 26 4
gpt4 key购买 nike

阅读以下链接后..

https://dba.stackexchange.com/questions/94443/how-should-a-numeric-value-that-is-an-external-key-be-stored

我决定将一列从文本更改为:

int(9) UNSIGNED ZEROFILL NOT NULL

但是,我不确定要使用的 SQL 语句。我知道下面是不正确的,因为它不包括 9 位数字、无符号 zerofill 和非 NULL 参数。

ALTER TABLE "Organizations" ALTER COLUMN "EIN" TYPE INTEGER using "EIN"::INTEGER

更新:由于 Postgres 不使用 zerofill 或 INT(9)。 9 位 EIN 号码的推荐数据类型是什么?

最佳答案

我会在以下两个陈述中推荐:

ALTER TABLE "Organizations" ALTER COLUMN "EIN" TYPE INTEGER using "EIN"::INTEGER;
ALTER TABLE "Organizations" ALTER COLUMN "EIN" SET NOT NULL;

填充零的装饰可以在客户端选择时完成(或规则,这实际上只是一个 View ,而不是选择,因此我认为这里过于复杂 - ((并更改为 int 以选择带有零的文本 - 不会合理的理由))),例如:

t=# select lpad(123::int::text,9,'0');
lpad
-----------
000000123
(1 row)

如果需要,可以模拟

关于postgresql - 将表列更改为 int(9) UNSIGNED ZEROFILL NOT NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46888835/

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