SQL:将列的数据类型从字符串更改为数字

标签 sql postgresql

我将在 postgre 中将列的数据类型从“character varying”更改为“bigint”。

旧列包含字符串“male”和“female”,现在我想将其更改为0或1,分别代表男性或女性。

我认为一个简单的 Alter table ... Alter Column 不能解决这个问题,因为它不会进行 male -> 0,female -> 1 转换。

谁能告诉我最安全的方法是什么?

非常感谢。

最佳答案

需要考虑的要点

  1. 当您要对男性使用 1 而对女性使用 0 时, 为什么要使用 bigint 数据类型? BIT/TINYINT 数据类型将起作用
  2. 在改变列的数据类型之前, 你需要将 Male 更新为 1,将 Female 更新为 0

关于SQL:将列的数据类型从字符串更改为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14377180/

相关文章:

MySQL 错误 1064 - 是什么原因造成的?

mysql - 我如何在我的表中指定我不能在 3 列中使用唯一或其他命令有两个相同的值?

mysql - SQL - 聚合函数曼哈顿距离

sql - 获取时区时间之间的分钟差异

php - 基本 : CakePHP data not being saved nor validation working?

postgresql - 以任意顺序选择包含子集字符的行

mysql - 如何从 MySQL 中的 SEC_TO_TIME 获取时间并忽略格式上的秒数?

sql - 多个数据库文件是否比多个表的数据库文件效率低?(SQLite3&Node.js)

postgresql - 更新/升级 brew 后如何修复 postgres

postgresql - 如何从查询中导出 DBUnit 结果集