[英]I want to insert random gender(M or F) values into a table in 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随机更新性别列。 有人可以帮我解决这个查询吗?
试试这个查询:
UPDATE Users
SET Gender = CASE WHEN ROUND(dbms_random.value()) = 0
THEN 'M'
ELSE 'F' END
说明:
Oracle的dbms_random.value()
函数返回[0,1)
范围内的十进制数。 因此,有一半的时间我们可以期望该数字四舍五入到小数点后零位等于0,另一半则四舍五入为1。因此,在上面使用的CASE
表达式中,我们随机分配一半时间为男性性别,另一半为女性性别。时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.