繁体   English   中英

我想将随机的性别(M或F)值插入Oracle中的表中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM