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 随机更新性别列。有人可以帮我解决这个问题吗?
最佳答案
尝试这个查询:
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/