首页 > 解决方案 > 如何在 postgresql 中随机化布尔值?

问题描述

我有这个 3k over 需要更新的数据,但问题是列类型是布尔值。所以我尝试将数据随机化为“真”或“假”,因为现在的列值都是“真”。下面是我的代码:

UPDATE dashboard.availability
SET in_opt_hrs = (array['true', 'false'])[(random() * 0 + 1)::int];

我曾尝试使用上面的代码,但 postgresql 会引发错误:column "in_opt_hrs" is of type boolean but expression is of type text

有没有什么办法解决这一问题?

标签: sqlpostgresql

解决方案


只使用布尔表达式怎么样?

update dashboard.availability
    set in_opt_hrs = (random() < 0.5);

是一个 db<>fiddle。


推荐阅读