相关疑难解决方法(0)

在postgresql中将varchar列升级为枚举类型

我们在表中有一个varchar列,我们需要升级到枚举类型.

varchar列中的所有值都是枚举中的有效值.varchar列中没有空值.

ALTER TABLE tableName
   ALTER COLUMN varcharColumn TYPE enum_type
Run Code Online (Sandbox Code Playgroud)

错误:列"varcharColumn"无法强制转换为类型enum_type SQL状态:42804

关于方式的回合是

  1. 使用枚举类型创建另一个新列.
  2. 在类型转换后使用varchar列更新枚举类型列.
  3. 删除varchar列.
  4. 将枚举类型列名重命名为varchar列名.

有没有更好的方法来实现这一目标?

提前致谢.

sql database postgresql ddl

18
推荐指数
2
解决办法
9234
查看次数

在PostgreSQL中将整数转换为枚举

我创建了一个自定义数据类型枚举,如下所示:

create type "bnfunctionstype" as enum ( 
    'normal', 
    'library', 
    'import', 
    'thunk', 
    'adjustor_thunk' 
);
Run Code Online (Sandbox Code Playgroud)

从外部数据源我得到[0,4]范围内的整数.我想将这些整数转换为相应的枚举值.

我怎样才能做到这一点?

我正在使用PostgreSQL 8.4.

sql postgresql enums integer type-conversion

8
推荐指数
2
解决办法
3481
查看次数

标签 统计

postgresql ×2

sql ×2

database ×1

ddl ×1

enums ×1

integer ×1

type-conversion ×1