postgresql - 如何使用从已知列表中随机选择的字符串更新表中的字段?

标签 postgresql random sql-update

我有一个名为“buildings”的表,其中包含一个名为“use”的 varchar(50) 字段。该表已经有几千条记录,但是“使用”值都是空的。我想用从字符串列表中随机选择的值更新这些表(例如,仓库、办公室、市场、零售、车间)。我还想保留其中一些 null 以模拟现实世界的用法。

如何使用从已知列表中随机选择的字符串更新表中的字段?

最佳答案

这可能对你有用:

BEGIN;
UPDATE Buildings SET Use = (ARRAY['warehouse', 'office', 'market', 'retail', 'workshop', NULL])[floor(random() * 6.0) + 1];
COMMIT;

关于postgresql - 如何使用从已知列表中随机选择的字符串更新表中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/449337/

相关文章:

database - 违反唯一约束的行

java - PostgreSQL & JDBC 使用 `setArray` 设置整数数组抛出异常 "cannot cast type integer[] to integer"

MySQL 和性能

postgresql - Bookshelf.js 多对多关系

javascript - 如何用js从1开始的范围内生成随机数?

haskell - 浮点 RNG 是否应该在 0 附近更精确?

python - 产生大量随机变量

php - 使用 PHP 从 CSV 更新 MySQL 表

python - SQL与python连接

PHP 调用 Postgres void 函数