sql - 我想将随机性别(男或女)值插入 Oracle 中的表中

标签 sql database oracle

CREATE TABLE USERS
(Email varchar2(30) CONSTRAINT UserKey PRIMARY KEY,
 First_Name varchar2(30),
 Last_Name varchar2(30),
 Password varchar2(15),
 Date_of_Birth date,
 Age integer,
 Gender varchar2(1) CONSTRAINT UserGender CHECK (Gender in ('M', 'F', 'f', 'm')),
 Phone_num number(14));

这是我正在使用的架构。我只想用值 M/F 随机更新性别列。有人可以帮我解决这个问题吗?

Table looks like this

最佳答案

尝试这个查询:

UPDATE Users
SET Gender = CASE WHEN ROUND(dbms_random.value()) = 0
                  THEN 'M'
                  ELSE 'F' END

说明:

甲骨文的dbms_random.value()函数返回[0,1)范围内的十进制数。因此,有一半的情况我们可以预期这个数字四舍五入到小数点后零位等于 0,另一半则四舍五入到 1。因此,在上面使用的 CASE 表达式中,我们一半的时间随机分配男性性别,另一半时间是女性。

关于sql - 我想将随机性别(男或女)值插入 Oracle 中的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43428324/

相关文章:

sql - LinqPad 像操作错误

ios - 如何获取iOS核心数据中每个实体的最后一个条目

sql - 当搜索为空时 oracle 中的解码行为

sql - 有条件的sql查询

Oracle ADF 12 项目结构

mysql - MySQL什么时候更新索引

mysql - 无法编写列出所有未向特定客户销售的销售人员的查询

mysql - Sql:使用表的列值作为存储过程的参数

php - MySQL 从键/值对表中选择

mysql - 使用多列表有什么缺点吗